簡體   English   中英

Angular:Redux 與服務(帶有 observables)

[英]Angular: Redux vs Services (with observables)

是的,我知道已經提出了幾種變體,但我對所有答案都不滿意。

所有答案都指向了 redux 的特性,但沒有一個是必不可少的:

  • 您不需要綁定到任何服務,只需聽聽 redux 狀態 => 有什么不同? 它為我保存了什么?
  • 您可以跟蹤狀態更改並且調試很容易 => 很好,但僅此而已。 為此選擇復雜的架構?

你能給我一個使用 redux 而不是 angular 服務的基本/重要原因嗎?

我認為主要標准是您的客戶端邏輯的復雜性。 是否復雜到讓服務過於復雜? 計算某些 UI 約束所需的狀態數據的不同部分之間是否有任何復雜的依賴關系?

在某些時候,您可能會發現自己實現了一些類似於現有 sate mgmt 庫的功能的東西。

例如,您可能擁有某種用於設置一些監控的復雜過程的向導,該過程通過具有許多不同選項的傳入數據進行攪動。

步驟之間可能存在相關性,這些步驟本身不需要詳細了解(因此在步驟 1 中的某些操作完成之前您無法進入步驟 2,或者步驟 3 可能取決於步驟 2 中選擇的一組標志和很快)。 您可能希望將所有狀態創建和更新邏輯放在一個地方(跟蹤代碼執行路徑的能力也是值得記住的一件好事)。

例如,您可以在此處嘗試將您的狀態實現為 NGXS 狀態。 定義人類可讀的操作,將您的更新邏輯保存在專門為其設計的單獨類中,提供從您的狀態到組件的 observable。 您不必復制負責發送更新信號的邏輯(例如,重新計算字段更改的第 2 步完成標志並通過相應的主題發送)。

一開始似乎也很難理解,但另一方面,下一個向導會感覺不那么難,而且您不必為應用程序中的所有狀態都這樣做。

暫無
暫無

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

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