,可以通过以下步骤实现:
import React from 'react';
import { reduxForm } from 'redux-form';
const Form1 = () => {
// 表单1的内容
}
const Form2 = () => {
// 表单2的内容
}
const MyComponent = () => {
const Form1Redux = reduxForm({ form: 'form1' })(Form1);
const Form2Redux = reduxForm({ form: 'form2' })(Form2);
return (
<div>
<Form1Redux />
<Form2Redux />
<button type="submit">提交</button>
</div>
);
}
export default MyComponent;
import React from 'react';
import { reduxForm, formValueSelector } from 'redux-form';
import { connect } from 'react-redux';
const Form1 = () => {
// 表单1的内容
}
const Form2 = () => {
// 表单2的内容
}
const MyComponent = ({ handleSubmit }) => {
const Form1Redux = reduxForm({ form: 'form1' })(Form1);
const Form2Redux = reduxForm({ form: 'form2' })(Form2);
const onSubmit = (values) => {
// 处理表单提交
console.log(values);
}
return (
<div>
<Form1Redux />
<Form2Redux />
<button type="submit" onClick={handleSubmit(onSubmit)}>提交</button>
</div>
);
}
const selector = formValueSelector('form1', 'form2');
const mapStateToProps = (state) => {
const { form1, form2 } = selector(state, 'form1', 'form2');
return {
form1,
form2,
};
}
export default connect(mapStateToProps)(reduxForm({ form: 'myComponent' })(MyComponent));
在上面的代码中,我们使用了redux-form的formValueSelector函数来获取每个表单的值,并将它们作为props传递给组件。然后,我们使用redux的connect函数将表单状态和提交处理程序连接到redux store,并使用handleSubmit函数来处理表单的提交。
这样,你就可以在同一页上创建多个redux-form,并使用相同的按钮提交它们了。每个表单的值将通过onSubmit函数进行处理。你可以根据需要在onSubmit函数中执行相应的操作,比如发送网络请求或更新redux store中的数据。
关于redux-form的更多信息和使用方法,你可以参考腾讯云的相关产品文档:redux-form产品介绍。
领取专属 10元无门槛券
手把手带您无忧上云