Maison  >  Article  >  interface Web  >  Comprendre React.memo : optimiser les composants fonctionnels

Comprendre React.memo : optimiser les composants fonctionnels

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-09-30 12:33:02643parcourir

Understanding React.memo: Optimizing Functional Components

React.memo est un composant d'ordre supérieur utilisé dans React pour optimiser les performances en empêchant les nouveaux rendus inutiles des composants fonctionnels. Il fonctionne en mémorisant le résultat d'un composant et en le restituant uniquement si ses accessoires changent. Ceci est utile pour l'optimisation des performances des composants fonctionnels qui restituent le même résultat avec les mêmes accessoires.

Exemple d'utilisation :

import React from 'react';

const MyComponent = ({ count }) => {
  console.log('Component re-rendered');
  return <div>Count: {count}</div>;
};

export default React.memo(MyComponent);

Dans cet exemple, MyComponent ne sera restitué que si l'accessoire count change. Si le composant parent est restitué mais que la prop count reste la même, MyComponent ne sera pas restitué, réduisant ainsi les calculs inutiles.

Par défaut, React.memo effectue une comparaison superficielle des accessoires, mais vous pouvez également fournir une fonction de comparaison personnalisée pour des vérifications plus approfondies si nécessaire :

const MyComponent = React.memo((props) => {
  /* component code */
}, (prevProps, nextProps) => {
  // return true if props are equal, false otherwise
  return prevProps.someValue === nextProps.someValue;
});

Cela peut optimiser davantage les performances lorsque vous avez des structures d'hélices plus complexes.

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