Réagir Avertissement: Chaque enfant dans un tableau ou un itérateur doit avoir une “clé” prop. Vérifier la méthode de rendu de `App`

J'obtiens cette erreur, mais je suis à la définition d'une clé. Voici mon App.js que c'est de se plaindre.

import React from 'react';
import Relay from 'react-relay';
import AccountTable from './AccountTable';

class App extends React.Component {
  render() {
    return (
      <div>
        <h1>Account list</h1>
          {this.props.viewer.accounts.edges.map(edge =>
            <AccountTable key={edge.node.id} account={edge.node} />
          )}
      </div>
    );
  }
}

export default Relay.createContainer(App, {
    fragments: {
        viewer: () => Relay.QL`
            fragment on User {
                accounts(first: 10) {
                    edges {
                        node {
                            ${AccountTable.getFragment('account')}
                        }
                    }
                }
            }
        `,
    },
});
bob ross serait fier de votre code montagnes. Mais vraiment, vous devriez vérifier le caractère unique de votre bord.nœud.id.
ne l'habitude des contrôles d'intégrité, je suppose. Est le code ci-dessus de 100% de la source de l'erreur? sont les id réellement unique? peut-être que vous avez un couple de undefineds / null
Voir si vous avez des Id en double: console.log(this.props.viewer.accounts.edges.map(edge => edge.node.id))
Ainsi, il s'avère que le bord.nœud d'objet n'est pas un id défini à ce stade. Je pense que c'est parce que le nœud fait référence à un autre fragment. Je n'avais pas ce problème quand j'ai eu des comptes à seulement énoncée à l'intérieur de ce fragment. Cela montre quand je me suis cassé le compte graphql des trucs dans le fragment. Ne l'un de vous sais un travail autour?

OriginalL'auteur LoneWolfPR | 2016-12-16