似乎一个antd组件的更改将触发页面上所有其他组件的重新呈现。当您将antdesign组件放入其中时,React.PureComponent
不起作用-不允许输入文本,因为状态和道具都没有更改。
我看到的唯一解决方法是在shouldComponentUpdate
内添加额外的逻辑,或者使用onChange
方法为每个字段维护局部状态。
维护所有领域的状态对我来说是头疼的事情。是否有人运行带有许多antdesign项的大型应用程序,以便我至少可以了解何时是进行优化的正确时间?
目前,我的表单包含大约60个antdesign组件,并且在键入时会挂起一段时间。
答案 0 :(得分:0)
由于没有人回答,我将在实验时发布我想出的答案。
看来,如果需要,可以结合使用shouldComponentUpdate
和本地状态和父状态。
在每个字段上,我都附加了onChange
事件以更改组件的本地状态。然后在shouldComponentUpdate
内部检查nextState是否等于当前状态。
如果您还需要对照父项状态检查某些内容,请将其通过道具传递。
我个人不喜欢这种方法,但是想不出更好的方法。 如果您觉得有更好的方法,我很乐意听到其他意见。