2017-10-05 1 views
0

Je viens juste de commencer avec Redux/Reactjs et je vous écris une application web qui contient user et group objets sur le serveur:écriture Actions Redux et pour Reducers un objet contenant un tableau de ids à d'autres objets

// example user 
user = { 
    name: 'joe bloggs', 
    age: 30 
}; 

// example group 
group = { 
    title: 'Main Group', 
    members: [userid1, userid2...useridn] 
}; 

J'ai un réducteur user et group de base et je suis en train d'écrire un action qui va chercher les group données du serveur et une liste de tous les membres. Le champ membres est un tableau d'identifiants qui correspondent à un user particulier.

Comment structurez-vous actions et reducers pour récupérer des objets comme group afin qu'ils puissent être affichés par les composants réagissent? Est-ce que mon composant de réaction doit appeler group et user actions pour récupérer le group suivi de chaque user dans le tableau de membres? Cela ressemble à un modèle commun dans la plupart des applications Web, mais je ne peux pas trouver un exemple redux. Toute aide ou pointeurs vers le code existant très apprécié.

Répondre

1

je ferais ce qui suit:

  1. Ajouter un identifiant unique à vos utilisateurs.
  2. Rendez members à l'intérieur groups un tableau d'ID.
  3. Modifiez le composant de réaction afin qu'il reçoive des membres et des groupes.

Lors de l'utilisation du connecteur réagir-Redux, vous pouvez effectuer les opérations suivantes:

groups: state.groups.map((group) => ({...group, members: group.members.map((id) => state.user[id])})), 

Ainsi, le composant recevra les groupes avec le réseau d'utilisateurs, au lieu de leur carte d'identité.

+0

Merci pour votre réponse. Je suis vraiment nouveau pour réagir/redux, puis-je demander ce que le ..., fait avant les 'membres'? – CSharp

+0

@CSharp c'était une erreur syntaxique. Je l'ai corrigé. – lilezek

+0

Merci, c'est logique maintenant. – CSharp