1.redux第一原则:
所有在应用中的改变,包括数据和UI状态都包含在单一的对象里,我们把他称为状态或者状态树
2.redux第二原则:
状态树是只读的,你不能修改或者对他进行写入操作,唯一能改变树的方式就是分发一个动作,一个动作就是一个普通的JavaScript对象,他以最简单的方式描绘了应用里面发生的改变,无论是由网络请求还是用户交互发起的数据,要想进入到Redux应用内部,都只能通过动作来实现。
3.redux第三原则:
为了描述状态的变化,你需要创建一个函数,他接收应用的上一个状态和分发的动作,然后返回应用的下一个状态,而这个函数必须是一个纯函数,他被称作reducer
纯函数:
纯函数的返回值只依赖于他们的参数,纯函数没有任何的副作用,纯函数只用来产生新值,纯函数不会修改传递进来的参数
非纯函数:
非纯函数可能访问数据库和网络,他们可能产生副作用,他们可能改写传递进来的参数
在使用Redux时,有些函数实现必须是虚函数