Для чого потрібні useMemo та useCallback?
Хук useMemo буде повторно обчислювати мемоізоване значення лише тоді, коли значення якоїсь із залежностей змінилося. Ця оптимізація допомагає уникнути дорогих обчислень під час кожного рендеру.
Хук useCallback поверне мемоізовану версію колбека, який змінюється лише тоді, коли змінюються значення однієї із залежностей. Це корисно під час передачі колбеків оптимізованим дочірнім компонентам, які покладаються на рівність посилань для запобігання непотрібним рендерам.