Chemin d'accès à React.useCallback()

Vous devez avoir entendu cela très souvent que nous devrions mémoriser les fonctions de rappel en utilisant useCallback() pour éviter un nouveau rendu inutile des composants.

Mais qu'est-ce exactement que useCallback() 🤔 . Y avez-vous déjà pensé ?

Laissez-moi vous aider à comprendre ce que c'est et où l'utiliser correctement.

Commençons par comprendre les contrôles d'égalité des fonctions

Avant de voir comment nous l'utilisons, voyons ce qu'il résout. Écrivons une fonction simple qui renvoie une fonction :

mul1 et mul2 sont des fonctions qui multiplient deux nombres. Ils ont été créés par la fonction de multiplication .

Les fonctions en JavaScript sont l'objet normal. Les fonctions mul1 et mul2 partagent le même code mais ce sont des objets fonction différents. En les comparant, ils sont évalués à false .

C'est ainsi que fonctionnent les objets JavaScript. Un objet (y compris un objet fonction) n'est égal qu'à lui-même.

Maintenant Le but de useCallback()

React.useCallback() résout fondamentalement le contrôle d'égalité des fonctions que nous avons vu ci-dessus. Différents objets fonction partageant le même code sont souvent créés dans les composants React :

handleClick (fonction en ligne) est un objet de fonction différent sur chaque rendu de CustomComponent .

Et il n'y a aucun mal à avoir des fonctions déclarées en ligne avec React Components. Cela n'aura pas d'impact préjudiciable sur les performances.

Mais dans certains cas, vous devez conserver une seule instance de fonction entre les rendus :

  1. Comme lorsque la fonction a un état interne, par exemple lorsque la fonction est anti-rebond/étranglée

2. Un composant fonctionnel enveloppé à l'intérieur React.memo()accepte un objet fonction prop.

Si un composant enfant qui accepte un rappel s'appuie sur une vérification d'égalité référentielle (par exemple : React.memo() ou shouldComponentUpdate() ) pour éviter les re-rendus inutiles lorsque ses accessoires changent, il est alors important qu'aucun accessoire de rappel ne change entre rend.

Par conséquent, dans le composant parent, nous pouvons envelopper la prop de rappel dans useCallback() et garantir qu'il transmet le même objet fonction dans le composant enfant optimisé.

3. Lorsque l'objet fonction est une dépendance à d'autres crochets, par exemple useEffect(..., [callback])

Dans l'exemple ci-dessus, si myFunction fait quelque chose qui provoque la reconstruction de MyComponent (par exemple, s'il fait quelque chose qui change les accessoires ou l'état), vous vous retrouverez dans un état de boucle infinie.

Pour éviter cela, nous enveloppons useCallback() autour d'une fonction et définissons ses dépendances pour garantir que la fonction n'est recréée que si ses dépendances ont changé. Par conséquent, la fonction n'est plus déclarée à chaque cycle de rendu

Les cas d'utilisation ci-dessus sont donc quand, le hook useCallback est utile : étant donné les mêmes valeurs de dépendance, le hook renvoie la même instance de fonction entre les rendus et augmente les performances.

J'espère que cela vous a aidé à comprendre ce qu'est en fait useCallback() ! 😊

Merci d'avoir lu cet article. Si vous l'avez apprécié, n'hésitez pas à cliquer sur le bouton 👏 pour aider les autres à le trouver.

Suggested posts

Éviter les conséquences dévastatrices d'un accident vasculaire cérébral : apprendre du parcours d'une famille.

Éviter les conséquences dévastatrices d'un accident vasculaire cérébral : apprendre du parcours d'une famille.

Introduction Un accident vasculaire cérébral est une urgence médicale qui peut frapper n'importe qui à tout moment. Elle survient lorsque le flux sanguin vers une partie du cerveau est perturbé, entraînant une perte soudaine de la fonction cérébrale.

Jest - Un framework de test JavaScript puissant

Jest - Un framework de test JavaScript puissant

Les tests sont une partie essentielle du développement logiciel. Il garantit que le code est fiable, fonctionne comme prévu et réduit la probabilité d'erreurs.

Related posts

Le premier livre d'un enfant sur la défonce

Le premier livre d'un enfant sur la défonce

(Attention - Ceci est une satire, destinée à être joyeusement subversive - Certainement pas pour les enfants) Vous avez vu votre mère et votre père se cacher dans la cuisine et fumer ces cigarettes malodorantes. Ils vous disent.

Ce que vous pouvez faire pendant votre saison d'attente (attendre de décrocher votre premier emploi dans la technologie)

Ce que vous pouvez faire pendant votre saison d'attente (attendre de décrocher votre premier emploi dans la technologie)

Passer à une nouvelle carrière peut être extrêmement difficile si vous essayez de le faire seul. Il est important de trouver des partenaires de responsabilité qui sont au même niveau d'apprentissage que vous, qui partagent des objectifs, une ténacité et un dynamisme similaires.

VIE SANS LIMITE

Quand tu grandis, on a tendance à te dire que le monde est comme il est et que ta vie est juste de vivre ta vie à l'intérieur du monde, sans jamais risquer ta vie, juste suivre un chemin tracé et mourir à la fin, et essayer de ne pas cogner trop les murs. Mais c'est une vie très limitée.

La révolution du lieu de travail : les meilleurs experts discutent du travail hybride et à distance

La révolution du lieu de travail : les meilleurs experts discutent du travail hybride et à distance

Dans le paysage commercial en évolution rapide d'aujourd'hui, le concept de travail hybride et à distance a pris un élan sans précédent. Alors que les entreprises continuent de s'adapter à l'évolution des besoins et des attentes de leurs employés, des experts de divers domaines se sont réunis pour discuter des avantages, des défis et de l'avenir de cette façon de travailler transformatrice.