为什么在redux存储中放置同步状态?

Ali*_*gan 1 javascript flux single-page-application reactjs redux

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

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

mar*_*son 5

我将从Redux状态与组件状态的Redux FAQ条目中引用"何时将数据放入Redux"的"经验法则" :

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

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

想要在Redux中保持UI状态是完全有效的.实际上,我写了一篇完整的博客文章,演示了如何在Redux中存储UI状态,如模态和Toast.