摘要:是一種前端狀態(tài)管理架構(gòu)思想,專(zhuān)門(mén)解決軟件的結(jié)構(gòu)問(wèn)題。基于的設(shè)計(jì)思想,出現(xiàn)了一批前端狀態(tài)管理框架。他們給出了一些庫(kù)用于實(shí)現(xiàn)的思想,并在的基礎(chǔ)上做了一些改進(jìn)。在這些框架里,當(dāng)前最熱門(mén)的莫過(guò)于和了。
Flux
Flux是一種前端狀態(tài)管理架構(gòu)思想,專(zhuān)門(mén)解決軟件的結(jié)構(gòu)問(wèn)題。
基于Flux的設(shè)計(jì)思想,出現(xiàn)了一批前端狀態(tài)管理框架。
他們給出了一些庫(kù)用于實(shí)現(xiàn)Flux的思想,并在Flux的基礎(chǔ)上做了一些改進(jìn)。
在這些框架里,當(dāng)前最熱門(mén)的莫過(guò)于Redux和Vuex了。
這里是我對(duì)Flux,Vuex,Redux的一些思考和總結(jié):
Flux
Flux數(shù)據(jù)流的順序是:ReduxView發(fā)起Action->Action傳遞到Dispatcher->Dispatcher將通知Store->Store的狀態(tài)改變通知View進(jìn)行改變
Redux相對(duì)于Flux的改進(jìn):
把store和Dispatcher合并,結(jié)構(gòu)更加簡(jiǎn)單清晰
新增state角色,代表每個(gè)時(shí)間點(diǎn)store對(duì)應(yīng)的值,對(duì)狀態(tài)的管理更加明確
Redux數(shù)據(jù)流的順序是:
View調(diào)用store.dispatch發(fā)起Action->store接受Action(action傳入reducer函數(shù),reducer函數(shù)返回一個(gè)新的state)->通知store.subscribe訂閱的重新渲染函數(shù)
Redux
Redux相對(duì)于Flux的改進(jìn):
把store和Dispatcher合并,結(jié)構(gòu)更加簡(jiǎn)單清晰
新增state角色,代表每個(gè)時(shí)間點(diǎn)store對(duì)應(yīng)的值,對(duì)狀態(tài)的管理更加明確
Redux數(shù)據(jù)流的順序是:
View調(diào)用store.dispatch發(fā)起Action->store接受Action(action傳入reducer函數(shù),reducer函數(shù)返回一個(gè)新的state)->通知store.subscribe訂閱的重新渲染函數(shù)
VuexVuex是專(zhuān)門(mén)為Vue設(shè)計(jì)的狀態(tài)管理框架,同樣基于Flux架構(gòu),并吸收了Redux的優(yōu)點(diǎn)
Vuex相對(duì)于Redux的不同點(diǎn)有:
改進(jìn)了Redux中的Action和Reducer函數(shù),以mutations變化函數(shù)取代Reducer,無(wú)需switch,只需在對(duì)應(yīng)的mutation函數(shù)里改變state值即可
由于Vue自動(dòng)重新渲染的特性,無(wú)需訂閱重新渲染函數(shù),只要生成新的State即可
Vuex數(shù)據(jù)流的順序是:
View調(diào)用store.commit提交對(duì)應(yīng)的請(qǐng)求到Store中對(duì)應(yīng)的mutation函數(shù)->store改變(vue檢測(cè)到數(shù)據(jù)變化自動(dòng)渲染)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/93919.html
摘要:關(guān)于的思考是一種前端狀態(tài)管理架構(gòu)思想,專(zhuān)門(mén)解決軟件的結(jié)構(gòu)問(wèn)題。他們給出了一些庫(kù)用于實(shí)現(xiàn)的思想,并在的基礎(chǔ)上做了一些改進(jìn)。在這些框架里,當(dāng)前最熱門(mén)的莫過(guò)于和了。 關(guān)于Flux,Vuex,Redux的思考 Flux是一種前端狀態(tài)管理架構(gòu)思想,專(zhuān)門(mén)解決軟件的結(jié)構(gòu)問(wèn)題。基于Flux的設(shè)計(jì)思想,出現(xiàn)了一批前端狀態(tài)管理框架。他們給出了一些庫(kù)用于實(shí)現(xiàn)Flux的思想,并在Flux的基礎(chǔ)上做了一些改進(jìn)。...
摘要:結(jié)構(gòu)和數(shù)據(jù)流一個(gè)單向數(shù)據(jù)流是模式的核心,上面示圖應(yīng)該是程序員心中主要的模型圖。 前言 這篇文章不會(huì)用具體的代碼去闡述redux、flux或者vuex,因?yàn)槲矣X(jué)得它們所帶來(lái)的更是一種編程思想。 前端進(jìn)化和框架演變 在很久以前,前端沒(méi)有MVVM的概念,MVVM是對(duì)MVC細(xì)化的說(shuō)法(個(gè)人覺(jué)得兩者區(qū)別不大),MVC的模式一直在后臺(tái)使用,效果和優(yōu)點(diǎn)都很明顯。 后來(lái)前端工程師仿照MVC模式開(kāi)發(fā)了很...
摘要:也就是說(shuō)不應(yīng)該有公開(kāi)的,所有都應(yīng)該是私有的,只能有公開(kāi)的。允許使用方法設(shè)置監(jiān)聽(tīng)函數(shù),一旦發(fā)生變化,就自動(dòng)執(zhí)行這個(gè)函數(shù)。用一個(gè)叫做的純函數(shù)來(lái)處理事件。可以通過(guò)得到當(dāng)前狀態(tài)。在中,同步的表現(xiàn)就是發(fā)出以后,立即算出。 這篇文章試著聊明白這一堆看起來(lái)挺復(fù)雜的東西。在聊之前,大家要始終記得一句話(huà):一切前端概念,都是紙老虎。 不管是Vue,還是 React,都需要管理狀態(tài)(state),比如組件之...
摘要:傳統(tǒng)框架的缺陷傳統(tǒng)框架的缺陷模型視圖控制器的縮寫(xiě)即視圖用戶(hù)看到并與之交互的界面。即模型是管理數(shù)據(jù)很多業(yè)務(wù)邏輯都在模型中完成。在的三個(gè)部件中,模型擁有最多的處理任務(wù)。所有的狀態(tài),保存在一個(gè)對(duì)象里面唯一數(shù)據(jù)源。1、傳統(tǒng)MVC框架的缺陷 模型(model)-視圖(view)-控制器(controller)的縮寫(xiě) V即View視圖:用戶(hù)看到并與之交互的界面。 M即Model模型是管理數(shù)...
摘要:簡(jiǎn)介是一個(gè)狀態(tài)管理的庫(kù),由基礎(chǔ)上開(kāi)發(fā)出來(lái),與的主要區(qū)別是只有一個(gè),關(guān)于,后文會(huì)詳述。這個(gè)函數(shù)接受四個(gè)參數(shù),它們分別是,,和。之前在注冊(cè)頁(yè)面,如果沒(méi)有滿(mǎn)足相關(guān)條件,則觸發(fā)的行為。具體定義了項(xiàng)目中觸發(fā)的行為類(lèi)別,通過(guò)屬性來(lái)區(qū)別于不同的行為。 redux簡(jiǎn)介 redux是一個(gè)js狀態(tài)管理的庫(kù),由flux基礎(chǔ)上開(kāi)發(fā)出來(lái),與flux的主要區(qū)別是只有一個(gè)store,關(guān)于store,后文會(huì)詳述。在各...
閱讀 1006·2023-04-25 14:45
閱讀 2780·2021-09-30 09:59
閱讀 3125·2021-09-22 15:48
閱讀 2428·2019-08-30 15:55
閱讀 3475·2019-08-30 15:44
閱讀 548·2019-08-29 14:07
閱讀 3416·2019-08-26 13:45
閱讀 541·2019-08-26 11:31