React Native

Performance Optimization

FlatList optimization, memo, useMemo/useCallback, Hermes, profiling, bundle size

24 questions d'entretien·
Senior
1

Quel est le rôle principal de React.memo dans l'optimisation des performances React Native ?

Réponse

React.memo est un Higher-Order Component qui mémorise le résultat du rendu d'un composant fonctionnel. Il empêche les re-renders inutiles en comparant les props actuelles avec les précédentes (shallow comparison par défaut). Si les props n'ont pas changé, React réutilise le résultat mémorisé au lieu de re-rendre le composant, ce qui améliore significativement les performances dans les listes ou les arbres de composants complexes.

2

Quelle propriété de FlatList permet d'optimiser significativement le scroll en fournissant les dimensions des items à l'avance ?

Réponse

getItemLayout est une propriété optionnelle de FlatList qui permet de calculer à l'avance la hauteur, largeur et offset de chaque élément. Cela évite à React Native de mesurer dynamiquement chaque item, ce qui améliore considérablement les performances de scroll, notamment lors du saut vers un index spécifique avec scrollToIndex. Cette optimisation est particulièrement utile quand tous les items ont la même taille.

3

Quelle est la différence principale entre useMemo et useCallback en termes d'optimisation ?

Réponse

useMemo mémorise le résultat d'un calcul coûteux et retourne cette valeur calculée, tandis que useCallback mémorise une fonction elle-même et retourne cette fonction. useMemo est utile pour éviter des recalculs lourds à chaque render, alors que useCallback est essentiel pour éviter de recréer des fonctions passées en props à des composants enfants mémorisés, ce qui casserait leur optimisation React.memo.

4

Qu'est-ce que Hermes et quel est son principal avantage pour les applications React Native ?

5

Pourquoi est-il crucial de fournir une fonction keyExtractor stable à FlatList ?

+21 questions d'entretien

Maîtrise React Native pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement