Maison >interface Web >js tutoriel >React restitue-t-il les composants après chaque appel « setState() » ?
React restitue-t-il tous les composants et leurs sous-composants chaque fois que "setState()" est invoqué ?
Oui, React déclenche le nouveau rendu par défaut après l'appel de "setState()".
Bien que React vise à optimiser le rendu, il évite les bugs subtils causés par les mutations d'état en réexécutant toujours la méthode "render" lorsque l'état changements.
Chaque composant a une méthode appelée "shouldComponentUpdate(nextProps, nextState)". Cette méthode détermine s'il faut réexécuter "render" en fonction des modifications apportées aux accessoires et à l'état.
Par défaut, "shouldComponentUpdate" renvoie true, garantissant ainsi un nouveau rendu. chaque fois que l'état ou les accessoires changent.
Dans le code fourni extrait de code, le composant Main définit son état sur la même valeur (« moi ») chaque fois que l'utilisateur clique sur le texte. Même si l'état ne change pas, React restitue toujours les composants Main et TimeInChild car "shouldComponentUpdate" renvoie true par défaut.
Vous pouvez optimiser le rendu en écrire une implémentation personnalisée de "shouldComponentUpdate" qui compare les anciens et nouveaux accessoires et l'état pour déterminer si un nouveau rendu est réel nécessaire.
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!