Maison >interface Web >js tutoriel >Optimiser les applications React avec useMemo et useCallback : un guide complet

Optimiser les applications React avec useMemo et useCallback : un guide complet

Linda Hamilton
Linda Hamiltonoriginal
2025-01-04 07:25:34173parcourir

Optimizing React Apps with useMemo and useCallback: A Complete Guide

Optimiser les applications React avec useMemo et useCallback

Les performances sont essentielles dans les applications React, en particulier à mesure que votre application évolue. Dans ce guide, nous explorerons comment useMemo et useCallback peuvent vous aider à optimiser vos composants React et à éviter les nouveaux rendus inutiles.


Pourquoi l'optimisation est importante dans React

Le comportement de re-rendu de React est puissant mais peut entraîner des goulots d'étranglement en termes de performances s'il n'est pas géré correctement. useMemo et useCallback sont deux hooks conçus pour résoudre ces problèmes.


Qu’est-ce qu’useMemo ?

useMemo mémorise le résultat d'un calcul et ne le recalcule que lorsque ses dépendances changent.

Syntaxe:

const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);

Exemple:

Imaginez un calcul coûteux dans un composant React :

import React, { useMemo } from "react";

function ExpensiveComponent({ a, b }) {
  const expensiveValue = useMemo(() => {
    console.log("Calculating...");
    return a + b;
  }, [a, b]);

  return <div>Result: {expensiveValue}</div>;
}

Sans useMemo, ce calcul s'exécute à chaque rendu, même lorsque a ou b n'a pas changé.

À quoi sert le rappel ?

useCallback mémorise une instance de fonction et garantit qu'elle est recréée uniquement lorsque ses dépendances changent. C'est particulièrement utile lors de la transmission de rappels aux composants enfants.

Syntaxe:

const memoizedCallback = useCallback(() => doSomething(a, b), [a, b]);

Exemple:

Évitez les rendus enfants inutiles :

import React, { useCallback } from "react";

function ParentComponent() {
  const handleClick = useCallback(() => {
    console.log("Button clicked!");
  }, []);

  return <ChildComponent onClick={handleClick} />;
}

function ChildComponent({ onClick }) {
  console.log("Child rendered");
  return <button onClick={onClick}>Click Me</button>;
}

Quand les utiliser ?

  • **useMemo** : pour optimiser les opérations lourdes en calcul.
  • **useCallback** : pour empêcher la recréation de fonctions lorsqu'elles sont transmises en tant qu'accessoires.

Points clés à retenir

  • Profilez toujours votre application avant l'optimisation.
  • Une utilisation excessive de useMemo et useCallback peut ajouter une complexité inutile.
  • Ils conviennent mieux aux parties critiques en termes de performances de votre application.

Apprendre encore plus

Consultez le guide complet sur Script Binary pour des explications détaillées et des exemples pratiques.

Quelle est la prochaine étape ?

Suivez-moi pour plus de conseils et de tutoriels React ! Connectons-nous dans les commentaires ci-dessous.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn