Находит update source в профиле вместо добавления memo ко всему подряд
Зачем
Зачем это нужно
Переносит локальное состояние ниже, уменьшая затронутое дерево компонентов
Стабилизирует только те свойства, которые реально ломают полезную мемоизацию
Вопросы
Частые вопросы
Нужно ли оборачивать все компоненты в memo?
Нет. Сравнение свойств тоже стоит времени, а новая функция или объект делает мемоизацию бесполезной. Сначала профиль должен показать дорогой повторный рендер со стабильными входами. Модель выберет несколько мест с измеримым эффектом и оставит простые компоненты без лишнего слоя.
Почему useCallback не помогает?
Либо ребёнок всё равно не мемоизирован, либо другие свойства меняются на каждом рендере, либо создание функции дешевле поддержки кэша. Иногда причина выше — состояние лежит слишком высоко. Модель проследит свойства и предложит перенести обновление, а не строить цепочку useCallback вокруг каждого обработчика.
Как проверить выигрыш?
Запишите один и тот же пользовательский сценарий в Profiler до и после, сравните длительность commit и число реально отрисованных строк. Ощущение на мощном ноутбуке ненадёжно. Модель составит повторяемый сценарий и отметит, не изменилось ли поведение ради красивого графика.
Рядом
Соседние страницы каталога
Дальше — весь каталог задач: поиск по названию, темы и фильтры.