Redux 打怪記錄(一)

yukai-w發表於2019-04-16

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

相關文章