动机
处理state中的数据问题,试图让state的变化变得可预测
核心概念
state:是一个普通对象,用来描述应用的状态,类似于一个模型,但是没有setter方法,不能直接改变它
action:是一个普通js对象,要改变state需要发起一个action,用来描述发生了什么
reducer:串联state和action的函数,接受旧state和action,返回一个新的state
三大原则
单一数据源
整个应用的 state 被储存在一棵 object tree 中,并且这个 object tree 只存在于唯一一个 store 中。
State 是只读的
惟一改变 state 的方法就是触发 action,action 是一个用于描述已发生事件的普通对象。
使用纯函数来执行修改
为了描述 action 如何改变 state tree ,你需要编写 reducers。