4 réponses

★ Meilleure réponse

Lance ta app avec `npm run build` et regarde la taille du bundle - tu verras tout de suite si un package a gonflé comme un ballon. Ça arrive souvent d'importer accidentellement des libraries entières alors qu'on a besoin que d'une petite fonction. Un truc pratique : utilise l'audit Lighthouse dans les Chrome DevTools, pas juste les métriques de performance - ça te montre beaucoup plus clairement où ça coince réellement, et ça te donne des suggestions d'amélioration concrètes au lieu de juste des chiffres cryptiques.

Le problème le plus courant, c'est le re-rendu inutile - jette un œil aux composants qui se rendent constamment à nouveau alors que leurs props n'ont pas changé du tout. Avec Chrome DevTools, tu peux utiliser l'onglet React Profiler, là tu vois exactement quels composants prennent le plus de temps et à quelle fréquence ils rendent. Souvent, `React.memo()` sur des composants individuels ou `useMemo()` pour les calculs coûteux suffisent déjà pour optimiser ça. Si ça ne suffit pas, ça pourrait aussi être que ton state soit organisé de manière trop centralisée et que chaque petit changement rende toute l'app à nouveau - là, la Context API ou un outil de gestion d'état comme Redux t'aideraient.

Si ton app s'est ralentie au fil des mois, ça vaut le coup de jeter un œil à tes dépendances - certains packages grossissent avec le temps ou apportent plus de code que tu n'utilises réellement. Avec `npm ls` ou `yarn why`, tu peux vérifier quelles librairies sont installées en double ou pourquoi certains packages sont même là. Au fait : dans Chrome DevTools sous Performance, tu peux lancer une enregistrement, et là tu vois concrètement où ton app perd du temps - regarde l'activité du Main Thread, pas juste les métriques individuelles.

Avant de te plonger trop dans les Chrome DevTools : la plupart du temps, ce n'est pas la performance du navigateur qui est le vrai problème, mais plutôt que ton app charge trop de code ou fait trop de requêtes API. C'est une mauvaise surprise quand on regarde juste les Flame Charts.

Je commencerais par deux vérifications pratiques : Premièrement, ouvre l'onglet Network et regarde la taille de tes bundles et combien de temps les appels API prennent. S'il y a des fichiers JavaScript énormes qui traînent ou que le serveur prend une éternité pour répondre, aucun tuning React ne t'aidera. Deuxièmement, utilise `npm outdated` ou jette un œil à ton package.json - parfois on se retrouve accidentellement avec des paquets énormes via les dépendances, qu'on n'utilise pas activement. Avec `npm ls` tu peux aussi voir quels packages sont installés plusieurs fois.

Si tout ça a l'air normal, React DevTools (le plugin de navigateur séparé, pas Chrome DevTools) peut t'aider : tu vois en direct quelles composantes se rendent et combien de fois. C'est beaucoup plus parlant que n'importe quelles métriques de performance. Cherche les composantes qui se re-rendent constamment alors que leurs inputs sont les mêmes - c'est vraiment un coupable fréquent.

Votre réponse

Se connecterpour répondre.