Встречается на собеседованиях • сегодня

Как оптимизировать без useMemo

Оптимизация без `useMemo` возможна через другие подходы: 1. **Мемоизация вручную** Сохраняем предыдущие значения и сравниваем зависимости перед вычислением: ```jsx let prevDeps = null; let cachedValue = null; function computeExpensiveValue(deps) { if (shallowEqual(deps, prevDeps)) return cachedValue; prevDeps = deps; cachedValue = heavyCalculation(deps); return cachedValue; } ``` 2. **Разделение компонентов** Разбиваем компонент на мелкие части, чтобы React мог эффективнее сравнивать пропсы: ```jsx const ExpensivePart = ({ data }) =>
{data}
; function Parent() { const data = computeData(); // Пересчитывается только при изменении пропсов return ; } ``` 3. **Использование `React.memo`** Для предотвращения лишних ререндеров дочерних компонентов: ```jsx const MemoizedComponent = React.memo(ExpensiveComponent); ``` 4. **Оптимизация функций** Выносим стабильные функции за пределы компонента или используем `useCallback` для колбэков. Ключевая идея — минимизировать лишние вычисления через грамотное структурирование кода и контроль ререндеров.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы