react native - redux 状态导致性能问题

react native - redux state cause performance issues

我是 React native 和 redux 的新手。当我使用 React native 和 redux 时,我意识到 redux store 中的 state 导致 component 渲染很多。

例如,我有一个存储为 redux 状态的列表视图的数据。列表视图将显示在屏幕 A 中。由于某些原因,我将在下一个屏幕中修改列表视图。通过将数据存储在 redux state 中,每当下一个屏幕中的列表视图发生变化时,屏幕 A 中的列表视图将自动更新。

不幸的是,每当列表视图中的数据发生变化时,我都必须重新渲染屏幕 A 中的每个组件(如果我将数据置于组件状态,则只会重新渲染列表视图而不是所有组件) .

我可以将列表视图的数据存储在 redux 状态并重新渲染它(不是所有组件)吗?

如果您有任何建议,请告诉我。

提前致谢!

好吧,如果您使用 mapStateToProps 将状态连接到属性,那么每当您更改 reducer 中的数据时,这些 props 也会更改,这会导致重新调用 render() 方法,所以基本上重新渲染。

来自 state 的每个连接的 props 都会导致重新渲染组件,如果它们在 reducers store 中发生更改。

在您的情况下,问题应该出在其他地方,也许在导航器中,从 A 导航到 B 后组件 A 仍然挂载在后台?

为了回答您的问题,您可以将 ListView(一些 json 列表)的数据存储在 redux 中,然后 connect 将其与您的组件一起存储,但是尝试在 Component A 中创建另一个组件,例如 Component A_2 并将其与 mapStateToProps 连接。那么如果你改变数据,只有 Component A_2 会被重新渲染,而不是整个 Component A.