首页
学习
活动
专区
工具
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产品介绍

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

相关·内容

redux-form学习笔记二--实现表单同步验证

,则提示警告(warn)内容,此时虽然发出警告但仍能提交成功(请区分和2和3中区别) 5尚未输入内容时(pristine=true)或在提交过程中(submitting=true),禁止使用提交按钮...点击清空按钮时,调用reset()方法清空所有输入框中内容 首先附上form.js代码:(这份展示一共两份代码:index.js和form.js,index.js内容请看上一篇博客) import...,使redux-form同步错误提示 })(SyncValidationForm)//写入redux-form组件 1什么是Field组件?...SyncValidationFormvalues对象输入后是这样: { username:彭湖湾, email:2314838003@qq.com, age:20 } component属性值是...// 一个错误提示函数,使redux-form同步错误提示 })(SyncValidationForm)//写入redux-form组件 (这里validate和warn采用了ES6对象属性简化写入写法

1.8K50

Redux框架reducer对状态处理

前言 react+redux项目里,关于reducer处理state方式,redux官方文档中有这样一段描述: 不要修改 state。 使用 Object.assign() 创建了一个副本。...你也可以开启对ES7提案对象展开运算符支持,从而使用 { ...state, ...newState }达到相同目的。 对此,我们可能会产生以下一些疑问: 为什么要创建副本state?...若不创建副本,而是直接修改state,则redux所有操作都将指向内存中同一个state,因而无法获得每次操作历史状态。...方案2中,我们需要将原对象中所有没有变更对象手动赋值给副本对象,确保副本对象结构完整性与原对象相同。相比方案1,方案2优势在于更少代码量。...小结 就redux-form而言,一些场景中,能明显感受到输入操作存在顿挫感。显然,当我们选择外部插件时,需要合理考虑其对state处理方式。

2.1K50

那些React-Native踩过

5个定时器时候切换页面的时候特别卡,后面尝试把页面切换时候把定时器移除(一开始认为切换后再回来页面会重新创建),但是发现其实不会。...0x03 关于state实用用法   react-native中state代表动态改变值状态,但如何应用到开发中是一个关键点?  ...具体例子:    0x01网络请求不同状态:请求成功-无内容 请求成功-有数据 解析失败 接口错误     0x02播放器详情中点击播放按钮 进度条开始往前走 可以设置一个播放状态          ...然后若点击播放           1按钮改变按钮图标           2播放进度条开始往前走 0x03 关于react-native中ListView加载数据细节     页面中经常会有拉加载数据情况...findNodeHandle, ... } from 'react-native'; 不使用类名调用方法: findNodeHandle(ref) 0x05 redux-form问题 问题:代码如下

1.9K90

典藏版Web功能测试用例库

​ 最多上传文件个数 ​ 上传多个文件后,展示排版布局 ​ 文件存储数据库/应用服务器 ​ 链接下载,可正常打开,内容正确 ​ 选择文件后,再次打开文件选择窗口,点击取消按钮,直接提交,不应该报错...,然后按未提交、审核不通过、审核中、审核通过排序,即把操作列可用按钮放在前面 分页 ​ 非尾,下页 ​ 非首页,上页 ​ 非尾,尾 ​ 非首页,首页 ​ 尾,下页,不可点 ​ 首页...数据检查 ​ 数据流 ​ 数据缺失,数据覆盖面尽可能广一点 ​ 数据重置问题 ​ 某些模块数据未重置,其他模块操作时,会把老数据带出来,包括图标状态等 ​ 不同功能点,相同展现字段 ​...​ 点击多个相同链接,可能会有意想不到问题 ​ 相同链接,从不同页面打开,说不定会有问题 树结构 ​ 依次展开到叶子节点,多个分支 ​ 展开和收起 ​ 节点图标 ​ 每层节点都能查到...,登录相同账号 ​ 强制登录弹窗 ​ 界面显示 ​ 验证码 ​ 输入错误,提示 ​ 强制登录成功 ​ 电脑a和电脑b使用同一账号,来回踢几次 ​ 阿里云环境不同项目之间,登录token

3.5K20

你想知道前后端协作规范都在这了

技术方案评审 :开发之前进行技术方案评审,再次确保各方需求认知统一,并且双方就接口字段可行性再次确认。...接口必须使用 application/json 模式 接口命名应尽量符合语义,接口命名不要过于相似,难区分,易混淆 入参 保证同一应用领域内,相同含义字段,命名保持一致 业务编号 / ID 必须为字符串类型...、组件显示与否,前端要通过大量字段进行条件逻辑判断;同一面不同场景前端调用接口不一样 // 按钮文案、显示逻辑 {((record.state === 'RESULT_CONFIRM' && isCurrentUserCreate...类型 6:金额计算结果由前端提交给后端并入库 【现象】 前端页面中,输入支付金额除以总额,然后计算出支付比例,最后点击保存按钮将数据提交给后端接口; 【解决】 对于金额计算:以是否入库为界限,非入库纯展示可前端计算...类型 10:后端一个接口拆分多个 【现象】 一个表单提交之前调用三个不同校验接口。三个校验接口入参也不一样,前端需要组装各种类型数据。 【解决】 多个校验接口和提交接口合并成一个提交接口。

1.1K20

我放弃 Axios,改用 Alova

axios在这方面什么都不做,比如频繁重复请求,同时发起多个相同请求等。...中,你需要创建相应请求状态自行维护,而Alova为你接手了这项工作。...详情数据没有变化情况下,每次进入详情请求一次,每次都需要用户等待加载,太浪费了。Alova,你可以默认享受这样待遇。 要求分享 您可能遇到过这种情况。...当一个请求发送但没有得到响应时,再次发起同一个请求,造成请求浪费,或者重复提交问题,比如下面三种场景: 当一个组件被创建时,它会获得初始化数据。...当一个页面同时渲染多个组件时,会同时发送多个相同请求。 提交按钮未禁用且用户多次单击提交按钮。 预加载完成前进入预加载页面时,会多次发起同一个请求。 共享请求就是用来解决这些问题

51630

Python Django开发 经验技巧总结(一)

文章目录 1.前后台数据传递 2.与数据库交互返回数据几种比较常用方法 3.一个表单对应多个按钮解决方案 4.HTML中表单控件及操作 5.消息框架 message使用 6.日期和时间DateField...(id=1) models.UserInfo.objects.get(user='cucucu') 3.一个表单对应多个按钮解决方案 为不同按钮添加不同name属性,然后再后台判断name值 <form...-这个是django中一个标签,用于防止恶意攻击使用,如果不加入这个标签,会遇到不能提交问题,处理麻烦一点,建议加上。...value是显示内容,并且后端提交后也将此作为值,其中name是后端获取时所用的如后端使用 select = request.POST['select']获取这个单选按钮value,另外也可以用select...页码 # object_list 分页之后数据列表,已经切片好数据 # number 当前

1.3K10

启动、配置、扩容、伸缩、存储,开普勒云平台之使用指南

只需要在应用详情点击"Build"按钮弹出对话框中选择相应用tags版本并提交就行了,如下图: [1572507838440030732.jpeg] 查询构建日志 点击详情build日志选项卡...应用详情页面,右上角找到“扩容”按钮点开。...同样进入应用详情页页,右上角找到“伸缩”按钮点开。...选择应用空间,点击“创建按钮 [1572507902010016481.jpeg] 弹出对话框中会有几个选项目: 名称:存储卷名称(规则: ^[a-z0-9]([-a-z0-9])?...若没有啥问题,可以点击“开始部署”按钮。 开始部署之后应用会自动jenkins创建一个job,自动进行build。

2.4K30

2023 React 生态系统,以及我一些吐槽……

(可能是编程中最难事情之一) 将多个请求相同数据重复请求合并为单个请求 在后台更新“过时”数据 了解数据何时“过时” 尽快反映数据更新 性能优化,如分页和惰性加载数据 管理服务器状态内存和垃圾回收...它们通常还需要对该数据进行更新、将更新发送到服务器,使客户端上缓存数据与服务器数据保持同步。...由于大约有 30 个独特表单,很快就明显发现,我们可以通过标准化不仅是输入组件,还有数据表单中流动方式来获益。 为什么不使用 Redux-Form?...根据我们先知 Dan Abramov 说法,表单状态本质是短暂且局部,因此 Redux(或任何 Flux 库)中跟踪它是不必要。...Redux-Form 每次按键时都会多次调用整个顶层 Redux reducer。

54830

禅道使用-基于官方15版本

禅道使用-基于官方15版本项目管理目标项目管理目标最重要一点当然是按期保质完成项目的上线和交付,但实际除了这个目标外还有一点附带就是让项目团队成员一个项目中获得相应能力提升。...产品中有很多需求,这些需要必须要通过项目来实施完成,一个项目可以完成多个产品中多个需求。...二、创建项目集点击项目集列表右上角添加项目集按钮,进入项目集添加表单。添加项目集表单:项目集添加成功后:三、创建产品,提交需求点击产品列表右上角添加产品按钮,进入产品添加页面。...点击添加需求按钮,可以开始添加需求了。接下来,创建产品开发计划,关联要开发需求。计划关联需求成功后:四、创建项目,关联产品点击项目列表创建项目按钮,即可添加项目。...七、创建版本,创建发布任务开发完成,Bug也解决了,执行--版本下创建版本,关联已开发完成需求和已解决Bug,提交测试。执行--版本里,点击页面的创建版本按钮,即可创建版本。

83310

180多个Web应用程序测试示例测试用例

将会出现正确验证消息。 26.如果允许数字字段,请检查是否为负数。 27.检查带有十进制数字值字段数。 28.检查所有页面上可用按钮功能。 29.用户不能连续快速按下提交按钮来两次提交页面。...8.升序和降序排序功能应适用于数据排序所支持列。 9.结果网格应以适当列和行间距显示。 10.当结果多于每页默认结果数时,应启用分页。 11.检查下一,第一和最后一分页功能。...15.对于显示报告结果网格,请检查“总计”行,验证每一列总计。 16.对于显示报告结果网格,启用分页功能后,请选中“总计”行数据,导航到下一。...9.检查子窗口取消按钮功能。 数据库测试测试方案 1.成功提交页面后,检查是否在数据库中保存了正确数据。 2.检查不接受空值值。 3.检查数据完整性。数据应根据设计存储单个或多个表中。...6.表列应具有可用描述信息(除了审计列,如创建日期,创建者等) 。7.对于每个数据库,应添加添加/更新操作日志。 8.应该创建所需表索引。 9.仅当操作成功完成时,才检查是否将数据提交到数据库。

8.1K21

Kali Linux Web渗透测试手册(第二版) - 4.8- 执行跨站点请求伪造攻击

本文中,我们将从应用程序中获取所需信息,以便了解攻击站点应该如何向易受攻击服务器发送有效请求,然后我们将创建一个模拟合法请求页面,使用户访问经过身份验证那个页面。...现在,与登录会话相同浏览器中加载此文件: ? 5. 单击“提交”,您将被重定向到用户个人资料页面。 它会告诉您密码已成功更新。 6....虽然这证明了这一点,但外部站点(或本例中本地HTML页面)可以应用程序执行密码更改请求。用户仍然不太可能点击“提交按钮。 我们可以自动执行该操作隐藏输入字段,以便隐藏恶意内容。...我们可以通过同一面内不可见框架中加载响应来进一步改进攻击页面。 有很多方法可以做到这一点; 快速而肮脏是为框架设置尺寸0。...Web应用程序渗透测试中,我们使用第一个代码,带有两个文本字段和提交按钮代码可能足以证明存在安全漏洞。

2.1K20

www2992019com请拨18687679495银河国际腾讯云IPv6私有网络及负载均衡最佳实践指南

3、腾讯云云解析注册一个域名:www.qcloudipv6test.com.cn 4、对于同一个云服务器,可以同时运行IPv4/IPv6,分别绑定到IPv4 LB和IPv6 LB, 两者创建流程类似...3、登录 私有网络控制台,左侧目录下选择【IP 与网卡】>【弹性网卡】,列表中单击目标云服务器所绑定弹性网卡 ID,进入详情。选择【IPv6地址管理】,单击【分配IP】确认操作。 ?...步骤四:创建 IPv6 负载均衡监听器 创建监听器 1. 登录 负载均衡控制台。 2. “CLB 实例列表”中,找到已创建负载均衡实例 ,单击实例 ID,进入负载均衡详情。 3....弹出框中,配置监听器名称和监听协议端口,点击提交创建监听器。 ? 配置监听器转发规则 “监听器管理”中,创建转发规则,配置域名、URL 路径、均衡方式、健康检查、会话保持等参数。...登录 云解析控制台,单击您所购买【域名】,“记录管理”页面单击【添加记录】按钮,为域名添加 AAAA 记录,输入如下内容保存: l 主机记录:即域名前缀,本例设为www。

6.2K20

HTML表单用法

get是从服务器获取数据,post是向服务器传送数据。 get是把参数数据队列加到提交表单ACTION属性所指URL中,值和表单内各个字段一一对应,URL中可以看到。...get方式提交数据,会带来安全问题,比如一个登陆面,通过 Get 方式提交数据时,用户名和密码将出现在URL,如果页面可以被缓存或者其他人可以访问客户这台机器,就可以从历史记录获得该用户帐号和密码...通过name属性值不同分组,同一name必须相同 5、placeholder 属性有什么作用? 文本框中显示提示语。 6、type=hidden隐藏域有什么作用?...,表单中插入隐藏域目的在于收集或发送信息,以利于被处理表单程序所使用。...有些时候一个form里有多个提交按钮,怎样使程序能够分清楚到底用户是按那一个按钮提交上来呢?

2.4K50

一些好用jquery技巧

1、返回顶部按钮 通过使用jQuery中animate 和scrollTop 方法,不用插件就可以创建一个滚动到顶部简单动画: // Back to top $('.top').click(function...6、禁用输入字段 有时候,你可能想要禁用表格提交按钮或它某一项文字输入直到用户执行了特定操作(例如,勾选“我已阅读相关条款”复选框)。...same-height-columns'); $rows.each(function () { $(this).find('.column').height($(this).height()); }); 11、新标签.../窗口打开外部链接 一个新浏览器tab或窗口中打开外部链接,确保同一个来源链接能在同一个tab或者窗口中打开: $('a[href^="http"]').attr('target', '_blank...15、链式插件调用 jQuery允许“链式”插件方法调用,以减轻反复查询DOM创建多个jQuery对象过程。

3.9K60

一篇文学会商用可编辑问卷表单制作【iVX 十二】

此时点击验证码后,将会发送短信到我们注册框中所填写手机号,此处为了方便演示我们选择无需使用图片验证码: 接下来我们为注册按钮添加事件,该事件点击注册按钮进行手机号注册时响应,我们通过使用用户对象...,在编辑内容块下创建 3 个列,这 3 个列分别设置他们之间为 30%、40%、30% 使其占据整个行内容,也可以在其基础设置对应外边距、内边距,使其具有一定间隔将会更加美观: 接着添加元素块列中创建一个行...点击提交为其添加事件: 此时事件更改方式与添加背景色类似,但是由于下拉菜单选项会有多个值,此时还需添加一个一维数组,在此命名这个一维数组为下拉菜单内容: 我们首先在提交按钮中为这个下拉菜单内容进行赋值...我们回到登录中,之前创建了一个登录用户变量: 我们为其他页面增加一个判断,若当前变量为 0 则跳转到登录,在此以编辑为例,其他页面相同操作不再进行赘述: 随后为每个标题栏按钮添加跳转:...1: 随后自己创建表单中添加事件获取该服务,创建获取数据库数据变量作为数据接收: 随后使用循环创建即可完成数据显示。

6.6K30
领券