Je suis assez nouveau pour réagir et je suis confronté à un problème que je ne peux pas résoudre. Voici mon composant réagir:Réagir clé unique lors de la cartographie d'avertissement
import React from 'react';
import Header from './Header';
import ContestPreview from './ContestPreview';
class App extends React.Component {
state = {
pageHeader: 'Naming Contests',
whatever: 'test'
};
render() {
return (
<div className="App">
<Header message={this.state.pageHeader} />
<div>
{this.props.contests.map(contest =>
<ContestPreview key={contest.id} {...contest} />
)}
</div>
</div>
);
}
}
export default App;
Ce code me donne l'avertissement suivant:
Attention: Chaque enfant dans un tableau ou iterator devrait avoir un accessoire « clé » unique . Vérifiez la méthode de rendu de
App
. Voir ICI-FB-URL-I-REMOVED pour plus d'informations. dans ContestPreview (créé par App) dans l'App
Je comprends tout à fait ce que cela signifie erreur. Je comprends que chaque élément d'un tableau doit avoir une clé unique lorsque vous les bouclez en boucle. Qu'est-ce que je ne comprends pas pourquoi je reçois l'erreur, puisque dans mon opionion la clé devrait être définie avec mon <ContestPreview key={contest.id} {...contest} />
... est key={contest.id}
pas assez?
Voici mes données concours:
{
"contests": [
{
"id": 1,
"categoryName": "Business/Company",
"contestName": "Cognitive Building Bricks"
},
{
"id": 2,
"categoryName": "Magazine/Newsletter",
"contestName": "Educating people about sustainable food production"
},
{
"id": 3,
"categoryName": "Software Component",
"contestName": "Big Data Analytics for Cash Circulation"
},
{
"id": 4,
"categoryName": "Website",
"contestName": "Free programming books"
}
]
}
Dans mon opionion il devrait fonctionner, je ne comprends pas pourquoi je reçois toujours cette erreur. Je voudrais vraiment obtenir de l'aide sur mon problème, ce serait vraiment cool si quelqu'un peut m'expliquer ce qui se passe ici puisque j'essaie vraiment de comprendre comment cela fonctionne.
Nous vous remercions de votre aide! :)
Pouvez-vous vérifier si si OBTIENNENT non définie ou nulle pour les données à tout moment –
Est-ce que l'une des réponses que vous aider à résoudre le problème? –
@ spencer.sm Non, mais je l'ai résolu moi-même. J'ai redémarré le serveur entier, toujours le même. Alors j'étais un peu énervé et j'ai décidé d'éteindre mon ordinateur pendant une heure. Après le redémarrage, cela a fonctionné parfaitement. Aucune idée de ce que c'était, pense que quelque chose n'a pas été correctement écrit. – Twinfriends