定義動態鍵的方法在redux的initialState中
P粉478835592
P粉478835592 2023-09-05 14:15:53
0
1
533
<p>我有一個電子商務網站,每個用戶都有購物車,並使用redux和redux persist來儲存在本地儲存中。我想在一台電腦上處理多個帳戶,如果一個使用者有兩個帳戶,他可以在帳戶之間切換,與每個帳戶相關的資料會顯示出來,我的問題是如何處理一個系統上的多個帳戶,每個帳戶都有一個id。我想為初始狀態定義這個結構:</p> <pre class="brush:php;toolbar:false;">const initialState = { [userId]:{ cart:[] } }</pre> <p>但是我遇到錯誤了</p> <p>對於登錄,我使用next-auth來處理,並為獲取用戶登錄時的ID定義了這個reducer。 </p> <pre class="brush:php;toolbar:false;">addUserId: async (state, action) => { //在這裡我接收到userId const session = await getSession(); console.log(session); },</pre>
P粉478835592
P粉478835592

全部回覆(1)
P粉245003607

由於您的初始狀態物件沒有定義的屬性,您可以從空的initialState物件開始。當您有資料來填充您的狀態時,您可以在reducer中動態地向狀態中新增[userId]屬性。但是,在這樣做之前,您必須先用空物件初始化該屬性,然後再賦值{ car​​t:[] }。請參閱文件中的範例,其中有一段文字說:Immer不會自動為您建立嵌套的物件或陣列 - 您必須自己建立它們。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板