防止某些组件重新渲染

时间:2019-04-20 19:34:52

标签: reactjs react-hooks

我正在使用反应钩。因此,有一个模式可以弹出一堆输入(组件),例如文本字段,下拉列表,日期选择器等。 问题是当某些字段被编辑时,我所有的表单组件都被重新渲染,这使我的表单非常慢。我完全理解为什么会这样。但是,当我在表单中编辑某些输入时,我想找到一种方法,所有其他输入字段(组件)应保持“冻结”状态,而不是重新呈现。否则,使用至少有20个输入字段的表单,将使工作非常缓慢...

感谢您的协助!

2 个答案:

答案 0 :(得分:0)

您可以使用Uncontrolled components。它不使用setState,因此当您键入一些输入值时,它将不会重新呈现。然后,您可以在提交表单时发送所有内容。

答案 1 :(得分:0)

尝试使用React.memo,它在某种程度上等效于shouldComponentUpdate

Check React.memo documentation