Middle
Čo robí useMemo? Kedy ho použiť? Je potrebné obaliť detský komponent do React.memo?
sobes.tech AI
Odpoveď od AI
useMemo — je hook v Reactu, ktorý umožňuje memoizovať (ukladať do cache) výsledok funkcie, aby sa predišlo zbytočným opakovaným výpočtom pri znovu-renderovaní komponentu.
Používajte useMemo, keď máte náročné výpočty alebo zložité objekty, ktoré by sa nemali zbytočne znovu vytvárať.
Príklad:
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
Tu bude computeExpensiveValue volané iba vtedy, ak sa zmenia a alebo b.
Čo sa týka React.memo — je to HOC, ktorý memoizuje samotný komponent, a zabraňuje jeho znovu-renderovaniu, ak sa props nezmenia.
Obaliť detský komponent do React.memo je vhodné, ak:
- sa komponent často renderuje,
- a props sa nemenia,
- a znovu-renderovanie komponentu je nákladné.
V skratke:
useMemooptimalizuje výpočty vo vnútri komponentu,React.memooptimalizuje renderovanie detských komponentov.
Oba nástroje môžu byť použité spolu na zlepšenie výkonu, ale mali by sa používať len v prípade, že je to naozaj potrebné, aby sa nezbytočne nezložil kód.