Redux 打怪记录(一)

326 阅读1分钟

redux三大原则

  • 单一数据源,只有唯一一个store
  • state是只读的,唯一改变state的方法就是触发action
  • 使用纯函数来执行修改

先前技术

  • flux
    • Redux并没有dispatcher的概念,原因是它依赖纯函数来替代事件处理器
    • Redux设想你永远不会变动你的数据。
  • Elm
    • Elm是一种函数式变成语言
    • 它执行一种model view update的架构
    • Elm的updater与Redux里的reducer服务于相同的目的
    • 不同于Redux,Elm是一门语言,因此在执行纯度,静态类型,不可变动,action和模式匹配等方面更具优势
  • Immutable
    • 它是一个可实现持久数据结构的javascript库
    • 它性能很好,并且命名符合javascript API的语言习惯
  • Baobab
    • 它实现了数据不可变特性的API,用以更新纯javascript对象
    • 所提供的大部分功能都与使用cursors更新数据相关,而Redux更新数据的唯一方法是分发一个action
    • 但是它还不能实现任何特别有效的数据结构
  • Rx
    • 它是管理复杂异步应用非常优秀的方案,可以与redux配合得很好

探索: Cycle