遷移到 Redux

2018-02-24 15:28 更新

遷移到 Redux

Redux 不是一個(gè)整體的框架,而是一系列的約定和一些讓他們協(xié)同工作的函數(shù)。你的 Redux 項(xiàng)目中的主要代碼不會(huì)是使用 Redux 的 API,因?yàn)榇蠖鄶?shù)時(shí)間你都會(huì)在編寫功能。

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

遷移 Flux 項(xiàng)目

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

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

你的遷移過程大致包含幾個(gè)步驟:

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

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

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

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

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

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

遷移 Backbone 項(xiàng)目

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

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)