React / Next.js

Optymalizacja wydajności React

React.memo, useMemo, useCallback, lazy loading, code splitting, React DevTools Profiler

22 pytań z rozmów·
Senior
1

Jaka jest główna rola React.memo?

Odpowiedź

React.memo to Higher-Order Component, który zapamiętuje wynik renderowania komponentu. Wykonuje płytkie porównanie props i pomija ponowne renderowanie, jeśli props się nie zmieniły. Szczególnie przydatny do optymalizacji kosztownych komponentów potomnych, które często otrzymują te same props.

2

Jaka jest główna różnica między useMemo a useCallback?

Odpowiedź

useMemo zapamiętuje wynik funkcji (zwróconą wartość), podczas gdy useCallback zapamiętuje samą funkcję. useMemo służy do optymalizacji kosztownych obliczeń, natomiast useCallback służy do stabilizacji referencji funkcji przekazywanych jako props, zapobiegając niepotrzebnym ponownym renderowaniom zapamiętanych komponentów potomnych.

3

W jakim przypadku użycie React.memo może być kontrproduktywne?

Odpowiedź

React.memo może być kontrproduktywne na komponentach, które otrzymują różne props przy każdym renderowaniu, ponieważ koszt płytkiego porównania props jest dodawany bez korzyści (komponent i tak zostanie ponownie wyrenderowany). Lepiej zarezerwować React.memo dla komponentów, które często otrzymują te same props i mają kosztowne renderowania.

4

Dlaczego warto używać useCallback dla funkcji przekazywanej jako prop do komponentu zapamiętanego za pomocą React.memo?

5

Jaka jest główna zaleta code splitting z React.lazy?

+19 pytań z rozmów

Opanuj React / Next.js 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