Angular 狀態(tài)管理的演進(jìn)

如果應(yīng)用使用單個(gè)的控制器管理所有的狀態(tài),Angular 中的狀態(tài)管理將從單個(gè)有機(jī)的單元開(kāi)始。如果是一個(gè)單頁(yè)應(yīng)用,一個(gè)控制器還有意義嗎?我們從冰河世紀(jì)掙脫出來(lái),開(kāi)始將視圖、控制器,甚至指令和路由拆分為更小的獨(dú)立的單位。這是巨大的改進(jìn),但是對(duì)于復(fù)雜的應(yīng)用來(lái)說(shuō),管理復(fù)雜的狀態(tài)仍然是一個(gè)問(wèn)題。對(duì)于我們來(lái)說(shuō),在控制器,服務(wù),路由,指令和偶爾的模板中包含散步的狀態(tài)是很常見(jiàn)的??勺兊臓顟B(tài)本身不是邪惡的,但是共享的可變狀態(tài)則是災(zāi)難的入場(chǎng)券。

iOS培訓(xùn),Swift培訓(xùn),蘋果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

正如像 Angular 這樣的現(xiàn)代 Web 框架永遠(yuǎn)地改變了我們以 jQuer 為中心的應(yīng)用開(kāi)發(fā)方式,React 從根本上改變了我們?cè)谑褂矛F(xiàn)代 Web 框架時(shí)處理狀態(tài)管理的方式。Redux 是這種改變的前沿和核心,因?yàn)樗肓艘环N優(yōu)雅地,但是非常簡(jiǎn)單的方式來(lái)管理應(yīng)用程序狀態(tài)。值得一提的是,Redux 不僅是一個(gè)庫(kù),更重要的是它是一種設(shè)計(jì)模式,完全與框架無(wú)關(guān),更巧的是可以與 Angular 完美合作。

整個(gè)文章的靈感來(lái)自  Egghead.io – Getting Started with Redux series by Dan Abramov. 除了創(chuàng)始人的說(shuō)明沒(méi)有更好的途徑學(xué)習(xí) Redux。它完全免費(fèi)并且改變了我的編程方式。

redux 的美妙之處在于它可以使用簡(jiǎn)單的句子表達(dá)出來(lái),總之,在我 “啊” 的時(shí)候就可以總結(jié)三個(gè)要點(diǎn)。

單個(gè)的狀態(tài)樹(shù)

iOS培訓(xùn),Swift培訓(xùn),蘋果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

redux 的基礎(chǔ)前提是應(yīng)用的整個(gè)狀態(tài)可以表示為

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式