Maison >interface Web >js tutoriel >Comment résoudre les erreurs de clé uniques dans les tableaux React imbriqués ?
Comprendre les clés uniques pour les enfants de tableau dans React.js
Problème :
A React le composant responsable de la création d'une table triable à l'aide de tableaux imbriqués rencontre une erreur indiquant un manque de clés uniques pour le tableau enfants.
Analyse :
Pour résoudre ce problème, assurez-vous que chaque enfant immédiat du tableau, ainsi que chaque élément contenu dans ces enfants, possède une clé unique soutenir. Cela permet à React de mettre à jour efficacement uniquement les parties nécessaires du DOM pendant le rendu.
Solution :
Dans le code fourni, le composant TableRowItem tente de restituer les éléments enfants sans spécifier de clé. Pour remédier à cela, attribuez des clés uniques à chaque élément td enfant dans TableRowItem comme suit :
{ render: function() { var td = function() { return this.props.columns.map(function(c) { return <td key={this.props.data[c]}>{this.props.data[c]}</td>; }, this); }.bind(this); return ( <tr>{td(this.props.item)}</tr> ); } }
Exemple :
Considérez l'exemple suivant adapté de la réponse de @Chris, ce qui démontre l'importance des clés dans les éléments imbriqués :
const ExampleComponent = React.createClass({ render: function () { const infoData = this.props.info; return ( <div> {infoData.map((object, i) => { return ( <div className={"row"} key={i}> {[ object.name, // Assign unique key to <b> element <b className="fosfo" key={i}> { " " } {object.city}{ " " } </b>, object.age, ]} </div> ); })} </div> ); }, });
Supplémentaire Remarque :
Il est essentiel de toujours attribuer des clés uniques aux enfants immédiats dans les structures de tableau. Cela permet à React de mettre à jour de manière optimale uniquement les éléments DOM nécessaires, ce qui entraîne une amélioration des performances et de l'efficacité du rendu.
Référence :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!