Évitez les fonctions fléchées et les liaisons dans les accessoires JSX pour des performances optimales
L'outil lint de React vise à améliorer les pratiques de code en mettant en évidence les problèmes potentiels. Un message d'erreur courant est "Les accessoires JSX ne doivent pas utiliser de fonctions fléchées". Cela souligne les effets néfastes de l'utilisation de fonctions fléchées ou de liaisons dans les accessoires JSX.
Pourquoi les fonctions fléchées et les liaisons entravent les performances
L'intégration de fonctions fléchées ou de liaisons dans les accessoires JSX a implications sur les performances :
Impact des gestionnaires en ligne sur le rerendu
Considérez ces exemples :
Exemple 1 : PureComponent sans Inline Handler
class Button extends React.PureComponent { render() { const { onClick } = this.props; console.log('render button'); return ; } }
Dans ce code, le composant Button n'est restitué que lorsque ses accessoires changent, comme prévu pour un PureComponent.
Exemple 2 : PureComponent avec gestionnaire en ligne
const Button = (props) => { console.log('render button'); return ; };
En raison de la fonction de flèche en ligne, Button s'affiche désormais à nouveau à chaque fois, même si l'état du composant reste inchangé. Ce rendu inutile peut avoir un impact significatif sur les performances.
Bonnes pratiques
Pour éviter ces problèmes de performances, il est recommandé de respecter les bonnes pratiques suivantes :
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