标签: reactjs
在React应用程序的状态下,我有一个对象的组织类似于树形结构。用户可以从根到叶修改该树中的任何节点。树中有3个级别(深度= 3),每个级别都使用特定功能进行渲染。当用户更新数据时,为了重新渲染,我有两个选择:
将此对象克隆到另一个新对象,使用DFS之类的策略遍历整棵树,找出需要修改的节点,然后对这个对象进行setState。
直接更改内部渲染函数中的节点,然后从最顶层的组件调用forceUpdate。
以上方法或其他理想解决方案之间是否有任何比较?
答案 0 :(得分:0)
Clone this object to another new object, using strategy like DFS to traverse whole tree and find out the node needs modified, then setState this object.
似乎是最适合您的选择。这样,每次您修改state的更改时,组件都将重新呈现而无需任何额外的操作。 Here和here中有关巫婆的文章解释了为什么您不必使用forceUpdate。
state
forceUpdate