Optimisation dans React

Par iel1, 21 mars, 2025
React Image

Salut à tous, c’est Ismail ! Cette semaine, je vais parler d’un sujet crucial pour toute application React : l’optimisation des performances. Une mauvaise gestion du rendu peut rendre une application lente et peu réactive. Heureusement, React propose plusieurs outils pour éviter les re-renders inutiles et optimiser l’exécution du code.

Pourquoi optimiser les performances en React ?

Quand une application React devient complexe, certains composants peuvent être re-rendus inutilement, ce qui impacte les performances. Optimiser le rendu permet de :

  • Améliorer la fluidité de l'interface
  • Réduire la consommation de ressources
  • Assurer une expérience utilisateur optimale

Voyons ensemble les techniques clés pour optimiser une application React !


1. Éviter les Re-renders Inutiles avec React.memo

React.memo est un Higher Order Component (HOC) qui empêche le re-render d’un composant si ses props n’ont pas changé.

import React from "react";

const Button = React.memo(({ onClick, label }) => {
  console.log("Bouton rendu !");
  return <button onClick={onClick}>{label}</button>;
});

export default Button;

Ici, le composant ne sera re-rendu que si ses props changent.


2. Optimiser les Fonctions avec useCallback

Les fonctions anonymes recréées à chaque rendu peuvent forcer le re-render des composants enfants. useCallback permet de mémoriser une fonction entre les re-renders.

import { useState, useCallback } from "react";
import Button from "./Button";

function App() {
  const [count, setCount] = useState(0);

  const handleClick = useCallback(() => {
    setCount((prev) => prev + 1);
  }, []);

  return (
    <div>
      <p>Compteur : {count}</p>
      <Button onClick={handleClick} label="Incrémenter" />
    </div>
  );
}

Avec useCallback, la fonction handleClick ne sera pas recréée à chaque rendu.


Sources

Commentaires3

lcirpaci

il y a 1 mois

merci pour ton article, j'ai appris que les memo existait!

Cependant, dans quel cas devrions-nous éviter d'utiliser React.memo et useCallback? Y a-t-il des situations où leur utilisation pourrait entraîner une dégradation des performances plutôt qu'une amélioration ?

sbenothman

il y a 1 mois

Merci pour cet article, c’est une excellente ressource pour ceux qui cherchent à optimiser leurs applications React ! Les exemples sont très clairs.

Une petite question : est-ce que tu recommandes d'utiliser systématiquement React.memo et useCallback dans tous les projets React, ou est-ce qu'il y a des cas où ces optimisations peuvent être contre-productives ?

adelaa

il y a 4 semaines 1 jour

Merci pour l’article, c’est super clair et les exemples aident vraiment à bien comprendre ! Juste une question : dans quel cas tu conseillerais d’utiliser React.memo en priorité ?