redux 是一个应用数据流框架,主要是解决了组件间状态共享的问题,原理是集中式管理,主
要有三个核心方法,action,store,reducer
三大原则:
1)唯一数据源(整个应用的 state 被储存在一棵 object tree 中,并且这个 object tree 只
存在于唯一一个 store 中)
2)reducer 必须是纯函数(输入必须对应着唯一的输出)
3)State 是只读的, 想要更改必须经过派发 action
redux 的工作流程:
使用通过 reducer 创建出来的 Store 发起一个 Action,reducer 会执行相应的更新 state 的方法,当 state 更新之后,view 会根据 state 做出相应的变化
1)提供 getState()获取到 state
2)通过 dispatch(action)发起 action 更新 state
3)通过 subscribe()注册监听器