Optymalizacja wydajności
Optymalizacja FlatList, memo, useMemo/useCallback, Hermes, profilowanie, rozmiar bundle
1Jaka jest główna rola React.memo w optymalizacji wydajności React Native?
Jaka jest główna rola React.memo w optymalizacji wydajności React Native?
Odpowiedź
React.memo to Higher-Order Component, który zapamiętuje (memoizuje) wynik renderowania komponentu funkcyjnego. Zapobiega niepotrzebnym ponownym renderowaniom, porównując bieżące props z poprzednimi (domyślnie shallow comparison). Jeśli props się nie zmieniły, React ponownie wykorzystuje zapamiętany wynik zamiast renderować komponent od nowa, co znacząco poprawia wydajność w listach lub złożonych drzewach komponentów.
2Która właściwość FlatList znacząco optymalizuje przewijanie, podając wymiary elementów z wyprzedzeniem?
Która właściwość FlatList znacząco optymalizuje przewijanie, podając wymiary elementów z wyprzedzeniem?
Odpowiedź
getItemLayout to opcjonalna właściwość FlatList, która umożliwia wcześniejsze obliczenie wysokości, szerokości i offsetu każdego elementu. Dzięki temu React Native nie musi dynamicznie mierzyć każdego elementu, co znacznie poprawia wydajność przewijania, zwłaszcza podczas przeskakiwania do konkretnego indeksu za pomocą scrollToIndex. Ta optymalizacja jest szczególnie przydatna, gdy wszystkie elementy mają ten sam rozmiar.
3Jaka jest główna różnica między useMemo a useCallback pod względem optymalizacji?
Jaka jest główna różnica między useMemo a useCallback pod względem optymalizacji?
Odpowiedź
useMemo memoizuje wynik kosztownego obliczenia i zwraca tę obliczoną wartość, podczas gdy useCallback memoizuje samą funkcję i zwraca tę funkcję. useMemo jest przydatny do unikania ciężkich ponownych obliczeń przy każdym renderze, natomiast useCallback jest niezbędny do unikania ponownego tworzenia funkcji przekazywanych jako props do zapamiętanych komponentów potomnych, co zepsułoby ich optymalizację React.memo.
Czym jest Hermes i jaka jest jego główna zaleta dla aplikacji React Native?
Dlaczego kluczowe jest dostarczenie stabilnej funkcji keyExtractor do FlatList?
+21 pytań z rozmów
Inne tematy rekrutacyjne React Native
Podstawy JavaScript
Podstawy React
Podstawy React Native
React Hooks
TypeScript dla React i React Native
Komponenty i API React Native
Stylowanie i układ w React Native
Nawigacja w React Native
Zarządzanie stanem w React Native
Networking i API w React Native
Trwałość danych
Formularze i walidacja
Animacje React Native
Native Modules & Bridge
Kod specyficzny dla platformy
Uprawnienia i interfejsy API urządzenia
Push Notifications
Testowanie React Native
Debugowanie React Native
Build & Deployment
Expo vs React Native Bare
Zarządzanie pamięcią
Architecture Patterns
New Architecture w React Native
Najlepsze praktyki bezpieczeństwa
Offline-First Architecture
CI/CD React Native
Monorepo i współdzielenie kodu
Zaawansowane tematy
Cykl życia aplikacji i wykonywanie w tle
Uwierzytelnianie i zarządzanie sesją
Monitoring & Crash Reporting
Opanuj React Native na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo