遷移到 Redux

2018-02-24 15:28 更新

遷移到 Redux

Redux 不是一個整體的框架,而是一系列的約定和一些讓他們協(xié)同工作的函數(shù)。你的 Redux 項目中的主要代碼不會是使用 Redux 的 API,因為大多數(shù)時間你都會在編寫功能。

這讓到 Redux 的雙向遷移都非常的容易。我們并不想限制你!

遷移 Flux 項目

Reducer 抓住了 Flux Store 的本質(zhì),所以這讓逐步遷移一個 Flux 項目到 Redux 上面來變成了可能,無論你使用了 Flummox、Alttraditional Flux 還是其他 Flux 庫。

同樣你也可以將 Redux 的項目通過相同的步驟遷移回上述的這些 Flux 框架。

你的遷移過程大致包含幾個步驟:

  • 創(chuàng)建一個叫做 createFluxStore(reducer) 的函數(shù),通過 reducer 函數(shù)適配你當前項目的 Flux Store。從代碼來看,這個函數(shù)很像 Redux 中 createStore 的實現(xiàn)。它的 dispatch 處理器應該根據(jù)不同的 action 來調(diào)用不同的 reducer,保存新的 state 并拋出更新事件。

  • 通過創(chuàng)建 createFluxStore(reducer) 的方法來將每個 Flux Store 逐步重寫為 Reducer,這個過程中你的應用中其他部分代碼感知不到任何變化,仍可以和原來一樣使用 Flux Store 。

  • 當重寫你的 Store 時,你會發(fā)現(xiàn)你應該避免一些明顯違反 Flux 模式的使用方法,例如在 Store 中請求 API、或者在 Store 中觸發(fā) action。一旦基于 reducer 來構(gòu)建你的 Flux 代碼,它會變得更易于理解。

  • 當你所有的 Flux Store 全部基于 reducer 來實現(xiàn)時,你就可以利用 combineReducers(reducers) 將多個 reducer 合并到一起,然后在應用里使用這個唯一的 Redux Store。

  • 現(xiàn)在,剩下的就只是使用 react-redux 或者類似的庫來處理你的UI部分。

  • 最后,你可以使用一些 Redux 的特性,例如利用 middleware 來進一步簡化異步的代碼。

遷移 Backbone 項目

對不起,你需要重寫你的 Model 層。它們區(qū)別太大了!

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號