CV
Formations
Projets
Blog
TechMastry
Contact
Bonjour la communauté !
J'ai une application React qui commence à avoir des problèmes de performance. Mes composants se re-rendent trop souvent et l'interface devient lente.
function MyComponent({ items, onSelect }) { return ( <div> {items.map(item => ( <ItemCard key={item.id} item={item} onClick={() => onSelect(item)} /> ))} </div> ); }
Avez-vous des conseils pour optimiser cela ? J'ai entendu parler de useMemo et useCallback mais je ne sais pas comment les utiliser efficacement.
Merci d'avance ! 🙏
Excellente question ! Voici plusieurs techniques pour optimiser tes composants React :
const ItemCard = React.memo(({ item, onClick }) => { return <div onClick={onClick}>{item.name}</div>; });
function MyComponent({ items, onSelect }) { const handleSelect = useCallback((item) => { onSelect(item); }, [onSelect]); return ( <div> {items.map(item => ( <ItemCard key={item.id} item={item} onClick={() => handleSelect(item)} /> ))} </div> ); }
Si tu as des transformations de données coûteuses, utilise useMemo !
Tu peux aussi regarder les React DevTools Profiler pour identifier les composants problématiques. 🔍
+1 pour les conseils de @Admin FYGS !
J'ajouterais aussi de faire attention aux props qui changent Ă chaque render. Par exemple :
❌ À éviter :
<Component style={{ margin: 10 }} />
âś… Mieux :
const styles = { margin: 10 }; <Component style={styles} />
La règle d'or : toujours penser à la référence des objets ! 👍