Redux 本身和 React 并没有特别紧密的联系,而是 Facebook 提出的 Flux 架构的一种优秀实现,可以搭配其他任何框架一起使用。在 React 上使用,需要搭配 react-redux(如此一来 Redux 可以不局限于 React,而让社区发展出更多的 redux-* 中间件)。
Redux 在 React 的基础上(state 和 props),增加了 store、action、reducer 的概念,规范了全局一个 state,从而只需要根据这个 state 就能回朔出整个应用的状态。组件通过 dispatch 将 action 传到 store,reducer 根据原来的 state 以及 action,返回新的 state,组件根据新的 state 渲染界面。
Redux 是一个可预测的状态容器,即只需要有状态树,就能还原出“事发现场”。
Redux是当前最热门的React架构。它的出现主要是为了修补Facebook官方推荐架构Flux的不足
Redux开发环境搭建
- 安装Redux:npm install —save redux
- 安装React 绑定库:npm install —save react-redux
- 安装开发者工具:npm install —save -dev redux-devtools
Redux 三个要点:
- 应用中所有的state都以一个对象树的形式存储在一个单一的store中
- 唯一改变state的办法是触发action
- 通过reducers描述action如何改变state树