W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Redux 不是一個整體的框架,而是一系列的約定和一些讓他們協(xié)同工作的函數(shù)。你的 Redux 項目中的主要代碼不會是使用 Redux 的 API,因為大多數(shù)時間你都會在編寫功能。
這讓到 Redux 的雙向遷移都非常的容易。我們并不想限制你!
Reducer 抓住了 Flux Store 的本質(zhì),所以這讓逐步遷移一個 Flux 項目到 Redux 上面來變成了可能,無論你使用了 Flummox、Alt、traditional 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 來進一步簡化異步的代碼。
對不起,你需要重寫你的 Model 層。它們區(qū)別太大了!
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: