摘要:動機(jī)如今用或者開發(fā)單頁應(yīng)用越來越普遍。可能散落在各處。使用純函數(shù)來執(zhí)行修改為了描述如何改變,你需要編寫。在實(shí)際的項(xiàng)目中,你還需要使用綁定庫如。
動機(jī)
如今用React或者vue開發(fā)單頁應(yīng)用越來越普遍。當(dāng)項(xiàng)目越來越大,管理不斷變化的state越來越困難??赡苌⒙湓诟魈?。需要一個統(tǒng)一的容器來管理各種state。
Redux 是 JavaScript 狀態(tài)容器。 它和react和vue無直接關(guān)系。只是剛好兩者可以結(jié)合起來發(fā)揮不錯的。
Redux 可以用這三個基本原則來描述:
單一數(shù)據(jù)源整個應(yīng)用的 state 被儲存在一棵 object tree 中,并且這個 object tree 只存在于唯一一個 store 中
State 是只讀的惟一改變 state 的方法就是觸發(fā) action,action 是一個用于描述已發(fā)生事件的普通對象。
使用純函數(shù)來執(zhí)行修改為了描述 action 如何改變 state tree ,你需要編寫 reducers。
Reducer 只是一些純函數(shù),它接收先前的 state 和 action,并返回新的 state。剛開始你可以只有一個 reducer,隨著應(yīng)用變大,你可以把它拆成多個小的 reducers,分別獨(dú)立地操作 state tree 的不同部分,因?yàn)?reducer 只是函數(shù),你可以控制它們被調(diào)用的順序,傳入附加數(shù)據(jù),甚至編寫可復(fù)用的 reducer 來處理一些通用任務(wù),如分頁器。
API 文檔Redux 的 API 非常少。
記住,Redux 只關(guān)心如何管理 state。在實(shí)際的項(xiàng)目中,你還需要使用 UI 綁定庫如 react-redux。實(shí)際上就是幫你處理了state變化時的監(jiān)聽
createStore產(chǎn)生store
combineReducers把多個小reducers組合成一個reducer
applyMiddleware(...middlewares)action中間件
bindActionCreators產(chǎn)生可以不用dispatch的action (感覺用處并不大)
compose把多個中間件組合在一起
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/91004.html
摘要:項(xiàng)目的架構(gòu)也是最近在各種探討研究。還求大神多指點(diǎn)項(xiàng)目技術(shù)總結(jié)技術(shù)棧項(xiàng)目結(jié)構(gòu)探究初體驗(yàn)關(guān)于項(xiàng)目中的配置說明項(xiàng)目簡單說明開發(fā)這一套,我個人的理解是體現(xiàn)的是代碼分層職責(zé)分離的編程思想邏輯與視圖嚴(yán)格區(qū)分。前端依舊使用技術(shù)棧完成。 項(xiàng)目地址:https://github.com/Nealyang/R...技術(shù)棧:react、react-router4.x 、 react-redux 、 webp...
摘要:接下來我們來看看源碼中的模塊是怎么應(yīng)用中間件的。如何實(shí)現(xiàn)中間件操作的。新的會從第一個中間件開始觸發(fā),這樣,在我們調(diào)用的時候,就會將中間件走一遍了。函數(shù)如果存在多個中間件,直接使用方法將各個中間件嵌套起來。 從redux-thunk引出思考 在使用redux-thunk進(jìn)行異步action書寫的時候,我經(jīng)常好奇redux到底如何運(yùn)作,讓asyncAction成為可能 為了探究,我們必須看...
摘要:前端日報精選漫談函數(shù)式編程一十年蹤跡的博客前端每周清單的優(yōu)勢與劣勢有望超越在嵌入式及物聯(lián)網(wǎng)的應(yīng)用現(xiàn)狀進(jìn)階系列高階組件詳解一前端之路譯如何充分利用控制臺掘金程序猿升級攻略眾成翻譯中文譯如何充分利用控制臺掘金前端從強(qiáng)制開啟壓縮探 2017-06-27 前端日報 精選 漫談 JS 函數(shù)式編程(一) - 十年蹤跡的博客前端每周清單: Vue的優(yōu)勢與劣勢;Node.js有望超越Java;JS在嵌...
摘要:總結(jié)本文分析了在采用架構(gòu)下的數(shù)據(jù)設(shè)計(jì)結(jié)構(gòu),在一個復(fù)雜的場景下,希望引起讀者對能有一個更深入的認(rèn)識。 前幾天刷Twitter,發(fā)現(xiàn)Nicolas(Engineering at @twitter. Technical Lead for Twitter Lite)發(fā)布了這么一條推文: showImg(https://segmentfault.com/img/remote/1460000009...
閱讀 1525·2021-11-22 14:44
閱讀 2900·2021-11-16 11:44
閱讀 3271·2021-10-13 09:40
閱讀 2094·2021-10-08 10:04
閱讀 2431·2021-09-24 10:28
閱讀 2975·2021-09-06 15:02
閱讀 3030·2019-08-30 15:52
閱讀 2478·2019-08-30 13:20