Redux - Comment ajouter une entrée de gamme dans le réducteur

Je coincé avec ce bit et je ne peux pas le progrès - je suppose que la solution est simple, mais je ne peux pas comprendre. Je suis en train d'ajouter une entrée dans le réducteur de sorte que les données dans ressemblerait à quelque chose ce:

state = {
  entryId: {
    entryName: ["something", "something2", "something3" /* and so on... */]
  }
};

La mesure où cela est le plus proche de ce que je reçois, mais, au lieu d'ajouter une nouvelle entrée unique, il est le remplacement de celui qui est stocké déjà. Aussi j'ai besoin d'être en mesure d'ajouter cet élément à l'état vide où entryId, entryName n'existe pas encore pour éviter l'erreur:

switch(type) {
  case ADD_ENTRY:
    return {
      ...state,
      [entryId]: {
        ...state[entryId],
        [entryName]: {
          [uniqueEntry]: true
        }
      }
    };
}

Une idée de ce que je fais mal?

  • Pouvez-vous écrire un contexte à l'exemple? Par exemple, pouvez-vous indiquer la forme de l'action la manipulation des intros réducteur?
  • Je suis dispatching quelque chose comme ceci: addEntry({ entryId, entryName, uniqueEntryid })
  • Essayez ceci: lien
  • grâce jzm un effort. J'ai essayé quelque chose de similaire, mais le problème est à l'état initial / de la première entrée, entryId est pas défini. Vous pouvez voir la question que je vais avoir lorsque vous définissez l'état initial à vide de l'objet c'est à dire const état = {}; Et, puisque toutes les valeurs sont dynamiques, je n'ai pas différent de l'état initial
InformationsquelleAutor eloleon | 2016-06-20