什么是redux
Redux 是 JavaScript 状态容器,提供可预测化的状态管理。 (如果你需要一个 WordPress 框架,请查看 Redux Framework。)
可以让你构建一致化的应用,运行于不同的环境(客户端、服务器、原生应用),并且易于测试。不仅于此,它还提供 超爽的开发体验,比如有一个时间旅行调试器可以编辑后实时预览。
Redux 除了和 React 一起用外,还支持其它界面库。 它体小精悍(只有 2kB,包括依赖)。
Redux的特点
1、统一的状态管理,一个应用中只有一个仓库(store)
2、仓库中管理了一个状态树(statetree)
3、仓库不能直接修改,修改只能通过派发器(dispatch)派发一个动作(action)
4、更新state的逻辑封装到reducer中
Redux的三大原则
- 单一数据源 store是唯一的
- State是只读的
- 使用纯函数来执行修改 通过纯函数reducer修改 能够对状态进行修改
为什么要使用Redux
Redux 是React生态中重要的组成部分。很多人都说,简单的应用可以不用此工具。但是我个人认为,中小型应用使用的话,可以使文件结构更加规范,代码可读性更强。因为React提出将展示组件与容器组件分离的思想,所以降低了React 与Redux之间的耦合度。
什么时候可以使用Redux
- 某个状态需要在任何地方都可以拿到
- 一个组件需要改变全局状态
- 一个组件需要改变另一个组件的状态
在React中使用Redux
可以让用户添加待办事项(todo)
可以统计出还有多少项没有完成
用户可以勾选某todo置为已完成
可筛选查看条件(显示全部、显示已完成、显示未完成)