動的キーの定義方法はreduxのinitialStateにあります。
P粉478835592
P粉478835592 2023-09-05 14:15:53
0
1
499
<p>各ユーザーがショッピング カートを持ち、redux と reduxpersist を使用してローカル ストレージに保存する電子商取引 Web サイトを持っています。 1 台のコンピュータで複数のアカウントを処理したいのですが、ユーザーが 2 つのアカウントを持っている場合、アカウントを切り替えることができ、各アカウントに関連するデータが表示されます。私の質問は、1 つのシステム アカウントで複数のアカウントを処理する方法です。各アカウントにはID。初期状態としてこの構造体を定義したいと思います: </p> <pre class="brush:php;toolbar:false;">constInitialState = { [ユーザーID]:{ カート:[] } }</pre> <p>しかし、エラーが発生しました</p> <p>ログインについては、next-auth を使用して処理し、ログイン時にユーザーの ID を取得するためにこのリデューサーを定義します。 </p> <pre class="brush:php;toolbar:false;">addUserId: async (state, action) => { //ここで userId を受け取ります const session = await getSession(); コンソール.ログ(セッション); },</pre>
P粉478835592
P粉478835592

全員に返信(1)
P粉245003607

初期状態オブジェクトには定義されたプロパティがないため、空の initialState オブジェクトから始めることができます。状態を設定するデータがある場合、リデューサー内の状態に [userId] 属性を動的に追加できます。ただし、これを行う前に、まず空のオブジェクトでプロパティを初期化し、それを { カート:[] } に割り当てる必要があります。ドキュメントの Example を参照してください。そこには、次のような段落があります。 Immer は、ネストされたオブジェクトや配列を自動的に作成しません。それらは自分で作成する必要があります。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!