React Native

Optymalizacja wydajności

Optymalizacja FlatList, memo, useMemo/useCallback, Hermes, profilowanie, rozmiar bundle

24 pytań z rozmów·
Senior
1

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.

2

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.

3

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.

4

Czym jest Hermes i jaka jest jego główna zaleta dla aplikacji React Native?

5

Dlaczego kluczowe jest dostarczenie stabilnej funkcji keyExtractor do FlatList?

+21 pytań z rozmów

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