如何重新渲染一些组件而不是全部?
How to rerender some components but not all?
我有一个来自 redux 的对象,其中包含我在 React Native class 组件中渲染的照片。
每次我为不同的对象更新相关 class 组件的状态时,来自 redux 的对象图像正在重新加载。
我怎样才能避免这种情况?
我认为使用 redux 可以避免在状态更新时重新渲染对象。
每当组件的状态发生变化时,都会重新渲染组件,这是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
我有一个来自 redux 的对象,其中包含我在 React Native class 组件中渲染的照片。
每次我为不同的对象更新相关 class 组件的状态时,来自 redux 的对象图像正在重新加载。
我怎样才能避免这种情况?
我认为使用 redux 可以避免在状态更新时重新渲染对象。
每当组件的状态发生变化时,都会重新渲染组件,这是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