【问题标题】:Reducer/state organization for large objects大型对象的减速器/状态组织
【发布时间】:2016-12-26 14:40:17
【问题描述】:

我有一个 react native 应用程序,它使用许多屏幕来管理大型对象中的数据。

例如,以下每一项都是用于管理此应用中 1 个对象的一部分的屏幕:地址、联系人、图像、便笺等。

如果使用单个 reducer 将整个对象传回状态,是否存在与最佳实践或性能相冲突的问题?

或者我的 reduce 和 state 应该更面向屏幕,只传回每个屏幕正在处理的对象的属性?

【问题讨论】:

    标签: reactjs react-native redux react-redux


    【解决方案1】:

    直截了当的回答。 视情况而定

    取决于每个reducer存储的数据。(每个人维护的状态)

    如果是复杂数据,最好创建一个单独的reducer

    如果每个屏幕的状态只是一个平面 JSON 对象,请将它们全部保存在单个 reducer 中。

    最后combineReducers() 将通过redux 的简单connect() 方法在我们想要的任何地方为我们提供所有这些。

    一般来说,我们会为container 维护一个reducer,其中容器包含由该容器的reducer 水合的成分。

    即使我们为每个 component 维护一个“reducer”也不是问题。

    另外一个好的做法是保持相关状态说:

    cart => cartReducer 反过来接受cart 状态的所有操作,如ADD_TO_CARTRESET_CARTCHECKOUT_CARTDELETE_ITEM 等。

    在您的情况下,如果地址、联系人、图像等与单个实体相关,最好维护一个 reducer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-12
      • 2019-11-23
      • 2021-01-27
      • 2017-01-02
      • 1970-01-01
      • 2017-11-27
      • 2021-07-18
      相关资源
      最近更新 更多