我们应该全球化反应应用程序的所有状态吗?
Shall we globalize all the states of a react application?
我对使用 redux 时的状态管理有疑问。 Redux 的主要目标是全球化组件的状态,以便 App 中的每个组件都可以读取和更新该状态。
我的问题是:当我们编写React/Redux应用程序时,我们应该使用哪种设计模式?定义 Redux 存储中的每个状态?还是在Redux store中只定义需要被其他组件读取的状态,其余的将封装在它们的相关组件中?
我想你答对了我的问题吗? :D
现在,组件的可重用性如何? redux 不会让组件无法重用吗?
&谢谢
对此没有“正确”答案。虽然有一些 Recommendations -
确定应将哪种数据放入 Redux 的一些常用经验法则:
- 应用程序的其他部分是否关心此数据?
- 您是否需要能够基于此原始数据创建进一步的派生数据?
- 是否使用相同的数据来驱动多个组件?
- 能够及时将此状态恢复到给定点(即时间旅行调试)对您有价值吗?
- 你想缓存数据吗(即,如果它已经存在,则使用它的状态 - 而不是 re-requesting 它)?
- 是否要在 hot-reloading UI 组件(交换时可能会丢失其内部状态)时保持此数据一致?
来自 Redux Github -
Question: How to choose between Redux's store and React's state? #1287
dan_abramov
- 将 React 用于临时状态,该状态对全局应用程序无关紧要,并且不会以复杂的方式发生变化。例如,某个 UI 元素中的切换,表单输入状态。将 Redux 用于全局重要或以复杂方式变异的状态。例如,缓存用户,或 post 草稿。
有时你会想要从 Redux 状态转移到 React 状态(当在 Redux 中存储一些东西变得尴尬时)或相反(当更多组件需要访问一些曾经是本地的状态时)。
经验法则是:做任何不那么尴尬的事。
我对使用 redux 时的状态管理有疑问。 Redux 的主要目标是全球化组件的状态,以便 App 中的每个组件都可以读取和更新该状态。
我的问题是:当我们编写React/Redux应用程序时,我们应该使用哪种设计模式?定义 Redux 存储中的每个状态?还是在Redux store中只定义需要被其他组件读取的状态,其余的将封装在它们的相关组件中?
我想你答对了我的问题吗? :D
现在,组件的可重用性如何? redux 不会让组件无法重用吗?
&谢谢
对此没有“正确”答案。虽然有一些 Recommendations -
确定应将哪种数据放入 Redux 的一些常用经验法则:
- 应用程序的其他部分是否关心此数据?
- 您是否需要能够基于此原始数据创建进一步的派生数据?
- 是否使用相同的数据来驱动多个组件?
- 能够及时将此状态恢复到给定点(即时间旅行调试)对您有价值吗?
- 你想缓存数据吗(即,如果它已经存在,则使用它的状态 - 而不是 re-requesting 它)?
- 是否要在 hot-reloading UI 组件(交换时可能会丢失其内部状态)时保持此数据一致?
来自 Redux Github - Question: How to choose between Redux's store and React's state? #1287
dan_abramov
- 将 React 用于临时状态,该状态对全局应用程序无关紧要,并且不会以复杂的方式发生变化。例如,某个 UI 元素中的切换,表单输入状态。将 Redux 用于全局重要或以复杂方式变异的状态。例如,缓存用户,或 post 草稿。
有时你会想要从 Redux 状态转移到 React 状态(当在 Redux 中存储一些东西变得尴尬时)或相反(当更多组件需要访问一些曾经是本地的状态时)。
经验法则是:做任何不那么尴尬的事。