[英]Angular: Redux vs Services (with observables)
是的,我知道已經提出了幾種變體,但我對所有答案都不滿意。
所有答案都指向了 redux 的特性,但沒有一個是必不可少的:
你能給我一個使用 redux 而不是 angular 服務的基本/重要原因嗎?
我認為主要標准是您的客戶端邏輯的復雜性。 是否復雜到讓服務過於復雜? 計算某些 UI 約束所需的狀態數據的不同部分之間是否有任何復雜的依賴關系?
在某些時候,您可能會發現自己實現了一些類似於現有 sate mgmt 庫的功能的東西。
例如,您可能擁有某種用於設置一些監控的復雜過程的向導,該過程通過具有許多不同選項的傳入數據進行攪動。
步驟之間可能存在相關性,這些步驟本身不需要詳細了解(因此在步驟 1 中的某些操作完成之前您無法進入步驟 2,或者步驟 3 可能取決於步驟 2 中選擇的一組標志和很快)。 您可能希望將所有狀態創建和更新邏輯放在一個地方(跟蹤代碼執行路徑的能力也是值得記住的一件好事)。
例如,您可以在此處嘗試將您的狀態實現為 NGXS 狀態。 定義人類可讀的操作,將您的更新邏輯保存在專門為其設計的單獨類中,提供從您的狀態到組件的 observable。 您不必復制負責發送更新信號的邏輯(例如,重新計算字段更改的第 2 步完成標志並通過相應的主題發送)。
一開始似乎也很難理解,但另一方面,下一個向導會感覺不那么難,而且您不必為應用程序中的所有狀態都這樣做。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.