intermediate
Memoization
Используйте React.memo, useMemo и useCallback, когда стабильная идентичность снижает больше работы, чем добавляет.
`React.memo` пропускает render при поверхностном равенстве props. Сочетайте с `useMemo` и `useCallback`, когда потомки или effects зависят от стабильности ссылок. Memo имеет стоимость сравнения и может скрыть ошибки в зависимостях.
Сначала ясность; добавляйте memo, когда профайлер показывает горячие render потомков с неизменными props. Пользовательские компараторы редки и легко ломаются.
На интервью объясняйте концепцию на конкретном примере и называйте поведение, которое проверяют.
Типовые ошибки: скрывать поток данных, дробить компоненты чрезмерно и выполнять побочные эффекты в render.
Компромисс часто между ясностью и переиспользованием или между явными props и удобством.
Чеклист:
- Memo для потомков с дорогим render.
- Стабилизируйте колбэки, уходящие в memoized-потомки.
- Проверяйте профайлером, а не предположениями.