大型反应冗余表单应用程序
Large react-redux form app
我一直在使用 react 重写我公司的一个模块,该模块是一个可由 4-5 种不同形式组成的单页,在每个表单中所做的选择然后确定下一个表单步骤的外观。
有很多"静态"输入字段不会影响应用程序的可视 UI 状态,但需要发送到服务器,其他输入正在更改 UI 状态。
我正在为这种类型的应用程序寻找正确的方法,因为它似乎将 onChange 事件附加到每个输入(整个页面中总共有 100 多个输入)。我使用了 react-redux-forms 插件,但它对我来说太像一个块箱了,因为我需要直接访问状态并据此做出决定。我宁愿对国家有更多的控制权。
为每个输入绑定 onChange 事件是正确的解决方案吗?或者有更好的方法。
我们很容易用redux-form
做到这一点。因为一切都在fields
道具中维护,所以你可以做这样的事情:
const Form = ({
fields,
handleSubmit,
saveForm
}) => (
<form onSubmit={handleSubmit(saveForm)}>
<fieldset>
<input type="text" {...fields.hasAlternativeDelivery} />
</fieldset>
{fields.hasAlternativeDelivery.value === true &&
<fieldset>
{/* more fields go here */}
</fieldset>
}
</form>
);
然后,我们有条件地验证某些字段集,如下所示。所以,回答你的问题:你不应该依靠变更事件来隐藏/显示某些字段,这违背了 React 的本质(React 是声明性的,你描述的是一种命令式的做事方式)。相反,找出什么状态(/props)应该导致哪个UI。
相关文章:
- 表单's的action属性-如何在javascript中指定完整的应用程序路径
- 谷歌表单-根据分配给谷歌应用程序的工作为商业用户预先填充多项选择列表
- 使用jquery调用vaadin应用程序表单php
- 单应用程序中的点云www和TCP
- 应用程序脚本-拆分谷歌表单复选框用逗号回答
- 谷歌应用程序脚本web应用程序动态列表从表单
- 谷歌表单 + 应用程序脚本编辑
- 为什么不是't正在调用AngularJS表单处理程序方法
- Bootstrap表单帮助程序未选择完整的国家/地区名称
- 如何在javascript asp.net表单应用程序中使用资源文件值
- 如何在表单处理程序之外的sencha touch中获取表单的值
- 如何改变多个单元格值在谷歌表通过应用程序脚本
- 以编程方式添加处理程序来响应表单处理程序
- 如何添加定时器元素到谷歌表单应用程序
- ASP.NET Web表单应用程序突然抛出JavaScript错误
- 转换base 60到base 10在谷歌表与应用程序脚本onEdit // MM:SS.MS到MS
- 如何打印多个调用谷歌分析API谷歌表与应用程序脚本
- 如何在c# web表单应用程序的内容页中添加脚本
- 表单处理程序未阻止默认设置
- 大型反应冗余表单应用程序