【问题标题】:react-redux performance re-render componentsreact-redux 性能重新渲染组件
【发布时间】:2017-06-22 22:09:31
【问题描述】:

我的 react-native 应用程序出现性能问题,我遇到了这个问题,但我不知道解决它的最佳方法是什么,我将在下面描述我的场景:

我有 3 个场景的导航:

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

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

【问题讨论】:

    标签: performance react-native react-redux react-native-router-flux


    【解决方案1】:

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

    编辑:你也可以考虑为列表项创建一个新的 React 组件。然后,每个项目只会在其各自的道具发生变化时重新渲染。

    Redux Usage with React

    【讨论】:

    • 我正在使用 react-redux lib,并且我使用 mapStateToProps 但性能并没有更好,当我在数组中添加项目时出现此问题,当我删除或编辑项目时性能很好.
    • 你能发布你的场景组件 jsx 吗?
    猜你喜欢
    • 2018-03-24
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2017-06-17
    • 2018-10-15
    • 2018-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多