幾乎在我的狀態樹中的每個對象需要具有以下字段:如果保持 「當前用戶」 全局訪問
- createdByGuid
- createdAt
- modifiedAt
日期字段易於添加到動作創作者中。似乎有一致意見認爲,行動創造者是允許不純的地方,即new Date()
。
但是當前登錄的用戶不容易被提取,因爲這些數據位於另一個狀態片段中。
實施例狀態:
profile
data
guid
firstname
...
media
items
0: guid, createdByGuid, ...
1: guid, createdByGuid, ...
drawings
items
...
當MEDIA_ADD動作分派我想要的作用的創建者,以增加與createdById的調度數據。當前用戶需要從profile.data.guid
獲取。
我不想把國家帶入我的動作創造者。相反,我可以使用thunk通過getState()獲取狀態。但是,這似乎是一個笨拙的方式來獲得一個簡單的GUID常量(本會話常量)。當我的所有動作創建者向狀態添加數據都需要變得更加笨拙時,它變得更笨拙。
我傾向於創建一個單獨的全局單例對象來保存這些數據,並將這個依賴關係帶入我的所有動作創建模塊。就例如測試而言,這似乎不太受干擾的依賴性。
我想大多數Redux用戶都有關於當前用戶的相同問題。什麼是好的解決方案?
我正在使用react-native,但我想這個問題適用於大多數Redux應用程序。