如何重新渲染某些组件但不是全部?

时间:2017-09-28 01:52:47

标签: react-native redux react-redux state-management

我有一个来自redux的对象,我在一个反应​​本机类组件中渲染了一张照片。

每次我更新不同对象的相关类组件的状态时,来自redux的对象的图像都在重新加载。

我怎么能避免这种情况?

我认为使用redux会避免在状态更新时重新呈现对象。

1 个答案:

答案 0 :(得分:1)

每当组件的状态发生变化时,组件就会被重新渲染,这是react-native的基本思想。您可以在shouldComponentUpdate()中添加条件以限制组件重新呈现的次数。此功能允许您有条件地重新渲染组件,而不是每次状态更改时重新渲染。

以下是参考:https://facebook.github.io/react/docs/react-component.html#shouldcomponentupdate

要重新渲染组件中的单个元素,您可以使用对于组件中的每个同级元素应该唯一的键。 React使用这些键识别哪些元素被更改并需要重新渲染,而不是重新渲染整个组件。

以下是参考:https://facebook.github.io/react/docs/lists-and-keys.html#keys