首页 > 解决方案 > 为什么要在 redux store 中放置同步状态?

问题描述

在 redux 存储中放置非异步状态有什么意义?例如,你有一个模态,显示或不显示,你想写这么多只是为了切换?将其作为本地状态放在反应组件中并使用 setState 更新它有什么问题?

我决定哪个 state 应该通过 redux 的经验法则是数据是异步的,否则商店里会有这么多 ui 状态,有一天它会变得这么大,你的想法是什么?

标签: javascriptreactjsreduxsingle-page-applicationflux

解决方案


我将引用Redux 常见问题解答条目中关于 Redux state vs component state的“何时将数据放入 Redux 的经验法则” :

确定应将哪种数据放入 Redux 的一些常见经验法则:

  • 应用程序的其他部分是否关心这些数据?
  • 您是否需要能够基于这些原始数据创建进一步的派生数据?
  • 是否使用相同的数据来驱动多个组件?
  • 能够将此状态恢复到给定的时间点(即时间旅行调试)对您有价值吗?
  • 您是否要缓存数据(即,如果它已经存在,则使用状态中的内容而不是重新请求它)?

想要在 Redux 中保持 UI 状态是完全有效的。事实上,我写了一篇完整的博客文章,展示了在 Redux 中存储 UI 状态(如 modals 和 toasts)的方法


推荐阅读