Performance Optimization
FlatList optimization, memo, useMemo/useCallback, Hermes, profiling, bundle size
1Quel est le rôle principal de React.memo dans l'optimisation des performances React Native ?
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.
2Quelle propriété de FlatList permet d'optimiser significativement le scroll en fournissant les dimensions des items à l'avance ?
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.
3Quelle est la différence principale entre useMemo et useCallback en termes d'optimisation ?
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.
Qu'est-ce que Hermes et quel est son principal avantage pour les applications React Native ?
Pourquoi est-il crucial de fournir une fonction keyExtractor stable à FlatList ?
+21 questions d'entretien
Autres sujets d'entretien React Native
Les bases de JavaScript
Fondamentaux React
Bases de React Native
React Hooks
TypeScript pour React & React Native
Composants & API React Native
Styling & Layout React Native
Navigation React Native
State Management React Native
Networking & API React Native
Persistance des données
Forms & Validation
Animations React Native
Native Modules & Bridge
Code spécifique aux plateformes
Permissions & Device APIs
Push Notifications
Testing React Native
Debugging React Native
Build & Deployment
Expo vs React Native Bare
Memory Management
Architecture Patterns
New Architecture React Native
Security Best Practices
Offline-First Architecture
CI/CD React Native
Monorepo & Code Sharing
Advanced Topics
App Lifecycle & Background Execution
Authentication & Session Management
Monitoring & Crash Reporting
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