Performance-Optimierung
FlatList-Optimierung, memo, useMemo/useCallback, Hermes, Profiling, Bundle-Größe
1Welche Hauptrolle spielt React.memo bei der Performance-Optimierung von React Native?
Welche Hauptrolle spielt React.memo bei der Performance-Optimierung von React Native?
Antwort
React.memo ist eine Higher-Order Component, die das Renderergebnis einer funktionalen Komponente memoisiert. Es verhindert unnötige Re-Renders, indem die aktuellen Props mit den vorherigen verglichen werden (standardmäßig Shallow Comparison). Wenn sich die Props nicht geändert haben, verwendet React das memoisierte Ergebnis wieder, anstatt die Komponente neu zu rendern, was die Performance in Listen oder komplexen Komponentenbäumen erheblich verbessert.
2Welche FlatList-Eigenschaft optimiert das Scrollen erheblich, indem sie die Item-Abmessungen im Voraus bereitstellt?
Welche FlatList-Eigenschaft optimiert das Scrollen erheblich, indem sie die Item-Abmessungen im Voraus bereitstellt?
Antwort
getItemLayout ist eine optionale FlatList-Eigenschaft, mit der sich Höhe, Breite und Offset jedes Elements im Voraus berechnen lassen. Dadurch muss React Native nicht jedes Item dynamisch vermessen, was die Scroll-Performance erheblich verbessert, insbesondere beim Springen zu einem bestimmten Index mit scrollToIndex. Diese Optimierung ist besonders nützlich, wenn alle Items dieselbe Größe haben.
3Was ist der Hauptunterschied zwischen useMemo und useCallback in Bezug auf die Optimierung?
Was ist der Hauptunterschied zwischen useMemo und useCallback in Bezug auf die Optimierung?
Antwort
useMemo memoisiert das Ergebnis einer aufwendigen Berechnung und gibt diesen berechneten Wert zurück, während useCallback eine Funktion selbst memoisiert und diese Funktion zurückgibt. useMemo ist nützlich, um aufwendige Neuberechnungen bei jedem Render zu vermeiden, während useCallback unerlässlich ist, um das Neuerstellen von Funktionen zu vermeiden, die als Props an memoisierte Kindkomponenten übergeben werden, was deren React.memo-Optimierung zunichtemachen würde.
Was ist Hermes und was ist sein Hauptvorteil für React-Native-Anwendungen?
Warum ist es entscheidend, FlatList eine stabile keyExtractor-Funktion bereitzustellen?
+21 Interview-Fragen
Weitere React Native-Interviewthemen
JavaScript-Grundlagen
React-Grundlagen
React Native Grundlagen
React Hooks
TypeScript für React & React Native
React Native Komponenten & API
Styling & Layout in React Native
React Native Navigation
React Native State Management
Networking & API in React Native
Datenpersistenz
Formulare & Validierung
React Native Animationen
Native Modules & Bridge
Plattformspezifischer Code
Berechtigungen & Geräte-APIs
Push Notifications
React Native Testing
React Native Debugging
Build & Deployment
Expo vs React Native Bare
Speicherverwaltung
Architecture Patterns
React Native New Architecture
Security Best Practices
Offline-First Architecture
React Native CI/CD
Monorepo & Code-Sharing
Fortgeschrittene Themen
App-Lebenszyklus & Hintergrundausführung
Authentifizierung und Sitzungsverwaltung
Monitoring & Crash Reporting
Meistere React Native für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten