javascript - 为什么要在 redux store 中放置同步状态?
问题描述
在 redux 存储中放置非异步状态有什么意义?例如,你有一个模态,显示或不显示,你想写这么多只是为了切换?将其作为本地状态放在反应组件中并使用 setState 更新它有什么问题?
我决定哪个 state 应该通过 redux 的经验法则是数据是异步的,否则商店里会有这么多 ui 状态,有一天它会变得这么大,你的想法是什么?
解决方案
我将引用Redux 常见问题解答条目中关于 Redux state vs component state的“何时将数据放入 Redux 的经验法则” :
确定应将哪种数据放入 Redux 的一些常见经验法则:
- 应用程序的其他部分是否关心这些数据?
- 您是否需要能够基于这些原始数据创建进一步的派生数据?
- 是否使用相同的数据来驱动多个组件?
- 能够将此状态恢复到给定的时间点(即时间旅行调试)对您有价值吗?
- 您是否要缓存数据(即,如果它已经存在,则使用状态中的内容而不是重新请求它)?
想要在 Redux 中保持 UI 状态是完全有效的。事实上,我写了一篇完整的博客文章,展示了在 Redux 中存储 UI 状态(如 modals 和 toasts)的方法。
推荐阅读
- sql - 使用 Google BigQuery 拆分并创建数组
- reactjs - 如何按 type="number" 显示我的消息?
- ruby-on-rails - 使用 gem 在 ruby 项目上生成声纳报告
- firebase - Firestore 空查询返回不可为空的字段
- angular - 我究竟做错了什么?角垫形式场
- google-colaboratory - 使用 ImageAI 库进行图像识别
- python - 使用 Pandas 将带有 html 标签的管道分隔文件读入数据框
- java - 为什么 SynchronizedList get 方法需要用 java 中的同步包装
- javascript - 使用 React-Audio-Player 在鼠标移动时自动播放音频文件
- apache-kafka - 安装在单台 PC 上时如何提高 Kafka(生产者和消费者)的性能