簡體   English   中英

angular 2 應用的狀態管理

[英]State management of angular 2 application

我是 Angular2 的新手。 Angular 提供了各種管理應用程序狀態的選項,如 ngrx/store、angular services 等。如果我們使用 ngrx/store 管理應用程序的狀態,那么我們需要一個外部庫,但在 angular services 的情況下不需要。 應該使用什么來管理應用程序的狀態? 每種方法的優缺點是什么? angular 社區是否提供了任何建議?

您不需要 ngrx/store 來實現 redux-store。 你可以自己實現一個。 網上有多個教程展示了如何以輕量級的方式進行操作。 但是 ngrx/store 是由 google 的人開發和支持的,因此它是一個您可以信賴的成熟框架,它還提供了一些簡潔的功能,例如異步事件的效果和開發中的不變性檢查。

主要問題是您是否應該使用 redux 模式/存儲。 這在很大程度上取決於您的應用程序架構。 對於較小的應用程序,它可能工作量太大,特別是如果您沒有明確的用戶故事並且事情可能會很快發生變化。但是如果您有一個大型 SPA,通常建議使用中央數據流存儲,例如 redux。 它確保您的應用程序中的數據流是單向的,並且在您的應用程序的重要部分沒有循環依賴,隨着您的應用程序變得越來越復雜,將來會導致奇怪的錯誤。

此外,即使在 SPA 中,您也有不屬於商店的 UI-Libraries 之類的東西。 按鈕原型被啟用或禁用是只有它的組件應該知道的事情。 但是應用程序模塊中使用的相同按鈕應該代表提供或不提供的特定功能,並且應該在 redux 中表示。

我強烈建議您查看 ngrx-store 示例應用程序,並親自了解其優點和缺點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM