關於大量靜態資料使用於Ngrx store或Service的取捨?

大家好~~想請教各位先進,
我想站在效能調教的角度來問這個問題,

使用情境:
有大量的靜態資料需要有地方被存放,裡面的資料只會被外部"單一個Component讀取",資料被讀出來只是做一些組合的操作而已。

情境目的:
我要實作一個類似程式碼產生器的功能,但這只是系統中一部分的功能。

問題:
1.Ngrx store的使用情境是不是比較偏向"動態(會變動)"的資料存取?
2.Service是不是只有在所注入的Component才會消耗資源?

癥結點:
不知道大量沒有變動需求的靜態資料放Ngrx store會不會造成效能耗損,但放在Service也不知道是不是更耗資源的方式?

回答:

  1. 不確定你說的消耗資源是指什麼。Service 在 Angular 裡面是 singleton 模式,有用才會產生 instance,多次用到只會有一個 instance,除非你多次註冊(provide)。

redux 是狀態管理,基本上要符合兩個條件才有必要放在狀態管理:

  1. 會變動(狀態才會變動)
  2. 跨元件存取

會變 X 不會跨元件:
那就是內部狀態,放在元件內就好

不會變 X 跨元件:
可以考慮放 Service ,但是最簡單的做法就是用 JS 模組匯出就好。

1個讚

了解,講的很清楚,感謝大大!!:grinning: