Redux 的设计思想很简单,就两句话。
(1)Web 应用是一个状态机,视图与状态是一一对应的。
(2)所有的状态,保存在一个对象里面。
React
的思想可以分为这几部分:
- 组件化 ,其实 React 和 ES6 的结合,写起来真的挺像 Java ,在开发过程中能够很好的进行组件的分离和复用。
- 用 状态(state) 和 参数(props) 来代表组件的内容,每一个组件都有其独立的状态,该状态受组件内部行为的影响,同时受到外部参数的影响而改变。
- 单向数据流 ,相比于 双向绑定 ,实际是一个简化的思想,虽然会带来更多的代码,但流程更加清晰,问题更好追踪。
- 页面的渲染由 React 控制,React会根据组件state的改变情况来决定是否进行重新渲染。
Redux
实际上是一个管理
action
,
state
和
props
的工具,
React
让开发者需要关注用户的行为和数据,而
Redux
为我们提供了一个管理这两者的最佳实践模版。
Redux共由三个主要组件:
- Action 定义动作的类型,和动作中携带的参数
- Reducer 进行动作的处理,和状态的改变
- Store 相当于一个小的数据库,用来存储所有组件的状态
Redux的规定,将用户操作的行为定义为Action,这些Action都需要由Reducer去处理。