Pourquoi utiliser les fonctions fléchées ou la liaison dans les accessoires JSX est un non-non
Lors de l'utilisation de React, il est important d'éviter d'utiliser les fonctions fléchées ou liaison dans les accessoires JSX. Cette pratique peut entraîner des problèmes de performances et un comportement incorrect.
Mauvais performances
L'utilisation de fonctions fléchées ou de liaisons dans les accessoires JSX force la recréation de ces fonctions à chaque rendu. Cela signifie que :
Incorrect Comportement
Considérez l'exemple suivant :
onClick={() => this.handleDelete(tile)}
Ce code créera une nouvelle fonction sur chaque rendu, ce qui oblige React à marquer le composant comme sale et à déclencher un nouveau rendu. Même si l'accessoire de tuile n'a pas changé, le composant sera restitué car la fonction de la flèche est différente.
Bonnes pratiques
Pour éviter ces pièges, utilisez l'option bonnes pratiques suivantes :
constructor(props) { super(props); this.handleDelete = this.handleDelete.bind(this); }
const handleDelete = tile => { // Handle delete logic };
Remarque supplémentaire :
Il est important de noter que les fonctions fléchées conviennent parfaitement lorsqu'elles sont utilisées dans d'autres parties du composant, comme dans la méthode de rendu. Cependant, ils doivent être évités lors de l'attribution de gestionnaires d'événements aux accessoires JSX.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3