# Redux详解

# 解决的问题

如何更好地管理整个应用共享的数据,解决了组件层级过深时层层传递数据的尴尬局面

# 发展过程

# Flux

# 优点

解决了MVC模式带来的数据流混乱问题,使用单项数据流

# 缺点

  • 多个store之间的依赖问题
  • 难以进行服务器渲染(多个store状态不唯一)
  • store混杂了逻辑和状态

# Redux

Redux = Reducer + flux

在单项数据流的基础上强调三个原则

  • 唯一数据源 (单一store)
  • 保持状态只读 (通过返回新对象改变状态)
  • 数据改变只能通过纯函数完成 (state, action)=> {...state, [prop]: [preValue] + 1}