首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在同一页上创建多个redux-form并使用相同的按钮提交

,可以通过以下步骤实现:

  1. 首先,确保你已经安装了redux-form库,并在你的应用程序中引入它。
  2. 在你的组件中,使用redux-form的reduxForm高阶函数来创建多个redux-form表单。每个表单都需要一个唯一的form名称,以便在后续的步骤中引用。
代码语言:txt
复制
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;
  1. 在你的组件中,使用redux的connect函数将表单状态和提交处理程序连接到redux store。
代码语言:txt
复制
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产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券