# reducer为什么设计成纯函数?

redux的设计思想就是不产生副作用,数据更改的状态可回溯,所以redux中处处都是纯函数。

redux有三大原则:

  1. 单一数据流 整个应用state都被储存在一个store里面 构成一个Object tree
  2. State是只读的 唯一改变state的方法就是触发action, action是一个用于描述已发生事件的普通对象
  3. 使用纯函数来执行修改 为了描述action如何改变state tree, 你需要编写reducers

把reducer设计成纯函数,可以实现时间旅行,记录/回放或者热加载。