是否有嵌套限制来响应更改检测

时间:2019-06-03 14:43:54

标签: reactjs

我正在传递带有许多嵌套道具的复杂对象。我有一个使用深层嵌套道具的组件

props.one.two[nth].three[nth].four = boolean 

,并且此布尔值的更改不会触发使用它的组件中的重新渲染。我可以在开发工具和日志中看到bool更新正确,但是在我对该组件执行其他操作(例如键入)之前,渲染不会被调用,然后它重新呈现以显示布尔更新。

我只想知道react的变化检测是否对它检测到的嵌套深度有某种限制。

1 个答案:

答案 0 :(得分:0)

根据文档,该组件将对对象进行深入检查,以确定是否需要重新渲染,除非该组件是React.PureComponent(用于类组件)或使用React.memo(对于功能组件),只会进行浅表比较。

如果您正在实现shouldComponentUpdate,它也可能不会重新呈现,并且它返回false。