É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 gestionnaire en ligne
class Button extends React.PureComponent { render() { const { onClick } = this.props; console.log('render button'); return <button onClick={onClick}>Click</button>; } }
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 <button onClick={() => props.onClick()}>Click</button>; };
En raison de la fonction de flèche en ligne, Button est désormais restitué à 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 :
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!