我想防止重新渲染整个树,因此,我想在需要时使用setNativeProps
更新特定组件,但是setNativeProps
不适用于所有组件。我在本机应用程序中同时使用setState
和setNativeProps
。 setState
适用于所有组件,但setNativeProps
不适用于所有组件。
setState
和setNativeProps
有什么区别? setNativeProps
应该使用或不应该使用哪种组件?一个小例子将不胜感激。谢谢!!!
答案 0 :(得分:1)
React-Native文档对此进行了很好的解释:
有时有必要直接对组件进行更改,而无需使用状态/属性来触发整个子树的重新渲染。例如,在浏览器中使用React时,有时需要直接修改DOM节点,移动应用程序中的视图也是如此。 setNativeProps是React Native,等效于直接在DOM节点上设置属性。
检查this link 以供参考
在频繁重新渲染会产生性能瓶颈时使用setNativeProps
因此,基本上,我可以看到的唯一用例是创建连续动画并且不想影响应用程序性能时。 在几乎所有其他情况下,setState绰绰有余。 并且,如果您需要控制何时重新渲染组件, shouldComponentUpdate