La méthode de définition des clés dynamiques est dans l'état initial de Redux
P粉478835592
P粉478835592 2023-09-05 14:15:53
0
1
545
<p>J'ai un site Web de commerce électronique sur lequel chaque utilisateur dispose d'un panier et utilise redux et redux persist pour stocker dans un stockage local. Je souhaite gérer plusieurs comptes sur un seul ordinateur, si un utilisateur a deux comptes, il peut basculer entre les comptes et les données liées à chaque compte seront affichées, ma question est de savoir comment gérer plusieurs comptes sur un seul compte système, chaque compte a un identifiant. Je souhaite définir cette structure pour l'état initial : </p> <pre class="brush:php;toolbar:false;">const initialState = { [ID de l'utilisateur]:{ Chariot:[] } }</pré> <p>Mais j'ai rencontré une erreur</p> <p>Pour la connexion, j'utilise next-auth pour le gérer et je définis ce réducteur pour obtenir l'ID de l'utilisateur lors de la connexion. </p> <pre class="brush:php;toolbar:false;">addUserId: async (state, action) => { //Ici, je reçois l'ID utilisateur const session = attendre getSession(); console.log(session); },</pré>
P粉478835592
P粉478835592

répondre à tous(1)
P粉245003607

Étant donné que votre objet d'état initial n'a pas de propriétés définies, vous pouvez commencer avec un objet vide initialState对象开始。当您有数据来填充您的状态时,您可以在reducer中动态地向状态中添加[userId]属性。但是,在这样做之前,您必须先用一个空对象初始化该属性,然后再赋值{ cart:[] }. Voir l'Exemple dans la documentation, où il y a un paragraphe qui dit : Immer ne crée pas automatiquement des objets ou des tableaux imbriqués pour vous - vous devez les créer vous-même.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal