Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance react redux性能重新渲染组件_Performance_React Native_React Redux_React Native Router Flux - Fatal编程技术网

Performance react redux性能重新渲染组件

Performance react redux性能重新渲染组件,performance,react-native,react-redux,react-native-router-flux,Performance,React Native,React Redux,React Native Router Flux,我的react本机应用程序存在性能问题,我遇到了这个问题,但我不知道最好的解决方法是什么,我将在下面描述我的场景: 我有3个场景的导航: Scene 1 ==> Scene 2 ==> Scene 3 场景2有一个广泛的项目列表,在场景3中,我可以从使用Flux体系结构的商店中添加或删除项目,当出现这种情况时,应用程序的状态会发生变化,组装的组件会重新渲染,这是场景1、场景2和场景3的情况,问题是场景1和场景2的渲染很重,这会导致场景3的动作出现很大延迟,经过大量研究,我发现我可以

我的react本机应用程序存在性能问题,我遇到了这个问题,但我不知道最好的解决方法是什么,我将在下面描述我的场景:

我有3个场景的导航:

Scene 1 ==> Scene 2 ==> Scene 3

场景2有一个广泛的项目列表,在场景3中,我可以从使用Flux体系结构的商店中添加或删除项目,当出现这种情况时,应用程序的状态会发生变化,组装的组件会重新渲染,这是场景1、场景2和场景3的情况,问题是场景1和场景2的渲染很重,这会导致场景3的动作出现很大延迟,经过大量研究,我发现我可以使用ShouldComponentUpdate方法来处理重新渲染,我的问题是如何只渲染列表中发生的更改,而不是再次渲染整个列表,因为这意味着要再次遍历每个数组。

我有点困惑。您使用的是Flux还是Redux?如果您使用的是react-redux,则可以使用mapStateToProps将组件绑定到redux存储的一部分。只有当这些道具发生变化时,组件才会重新渲染

<>编辑:您也可以考虑为列表项创建一个新的反作用组件。每个道具只有在其各自道具发生变化时才会重新渲染


我使用的是react-redux库,我使用mapStateToProps,但性能没有更好,这个问题只是在我在数组中添加项时出现的,当我删除或编辑项时,性能很好。你能发布你的场景组件jsx吗?