反应原生 - redux状态导致性能问题
我是React native和redux中的新成员。当我使用React native和redux时,我意识到state
在还原store
导致component
呈现很多。反应原生 - redux状态导致性能问题
例如,我有一个列表视图的数据存储为一个redux状态。列表视图将显示在屏幕A中。由于某些原因,我将在下一个屏幕中修改列表视图。通过将数据存储为redux状态,只要下一个屏幕中的列表视图发生更改,屏幕A中的列表视图就会自动更新。
不幸的是,每当列表视图中的数据发生变化时(如果我将数据置于组件状态,只有列表视图将被重新渲染而不是所有组件),我必须重新渲染屏幕A中的每个组件。
我可以存储列表视图的数据在redux状态,只是重新渲染它(不是所有组件)?
如果您有任何建议,请让我知道。
预先感谢您!
好吧,如果你已经连接的状态将属性与mapStateToProps
,那么只要您更改reducer
的数据,这些props
改变过,这将导致重新调用render()
方法,所以basicly重新渲染。
state
中的每个连接的props
都会导致组件的重新渲染,如果它们在reducers store
中更改。
对于你的情况,问题应该在别的地方,也许在导航器中,在从A导航到B后仍然将组件A留在背景中?
要回答你的问题,你可以存储在redux
您的ListView
数据(一些JSON列表),而且比connect
它与您的组件,而是尽量让另一个组件的Component A
里面,像Component A_2
与mapStateToProps
连接此。那么如果你改变了数据,只有Component A_2
将被重新渲染,而不是整个Component A
。
请更正此答案的英文。还可以使用''使变量看起来像'this'。尝试添加一些格式以使答案更具可读性 – martianwars
这是我能做的最好的英语,对不起。我编辑了亮点,现在好点了吗? – kuby
好多了,upvoted :) – martianwars
你有一些代码可以显示吗? – Dherik
@Dherik:谢谢你考虑我的问题。我将编写一个简单的代码并尽快编辑问题。 – LuongTruong
@Dherik:Kuby的答案很棒。我现在可以解决我的问题。谢谢你们。 – LuongTruong