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