不只是你,很多人都覺得 Redux 比 Flux 複雜。其實這隻是思想的一個轉換。如果妳學過函數式,你就會感覺到 Reactive Programming 就是應該這樣寫的。
Redux 能讓你的程序只擁有一個 Listener,你不需要在每一個組件中進行一套自己的 state 管理,一切所需的數據都從上游作為 props 傳進來了。
就異步 API 這一塊來說,Flux 的實現其實更加複雜,你需要在每一個 Action Creator 裡進行中間過程的事件管理,而在 Redux 中使用 Middleware ,妳什麼都不用管,直接構造一個描述性的 Action 就可以了。
還有,使用一個 store 並不是激進的做法,反而是簡化了程序的結構。在 Flux 中妳可以給每一個 store 定義一套相互獨立的 API ,所以在大項目中很快就會產生混亂,你的團隊也需要對每一個 store 的接口進行理解才能開始寫。而 Redux 中妳只要設計一個清晰的樹狀數據結構,所有人只要看一眼數據的形狀就能開始寫了。