我正在构建一个表单,其中包含24个输入,分为3个子级。
父母
道具->儿童1
o字段1-onChange
道具->儿童2
道具->儿童3
我不知道我是否正确地完成了操作,但是如果我使用onChange更新子项1的字段1上的文本字段,则调用父级的handleChange –它会在每次击键时重新渲染所有子项–这非常昂贵且非常每个孩子都有8个输入,所以速度很慢。
大多数示例代码都能正常工作,因为它们非常琐碎,但是当它开始增长时,也许推荐的方法不起作用? 在保持输入内容的受控性质的同时,还有其他方法可以这样做吗?建议您查看受控组件。
我确实有redux,但是我不会在每次按键onChange上使用它,而只是将其用于保存,检索等。
有什么想法吗?
答案 0 :(得分:1)
Redux +重新选择实际上可能会使它更快!我们在Redux / Reselect中使用了大量输入(这消除了将其状态传递到组件链中的必要性),实际上直接在更改时设置Redux状态,并且由于Reselect阻止了所有其他组件的渲染和通过组件链,因此实际上使它们更有效。
请记住,React开发模式为much, much slower than the Production Build。如果您使用的是普通计算机,请尝试在“生产”模式下对其进行测试,并查看其运行方式(如果确实发生了这种情况)要拥有高端机器,请使用Dev模式来测量速度。)