Проверяет понимание ленивой инициализации состояния в React и её влияния на производительность.
Когда вы передаёте функцию в качестве начального значения в useState, React вызывает её только один раз — при первом рендере компонента. Это называется ленивой инициализацией. В отличие от передачи обычного значения, которое вычисляется на каждом рендере (даже если результат не используется), функция гарантирует, что дорогостоящие операции выполняются только один раз.
const [state, setState] = useState(expensiveFunction()); // вызывается на каждом рендереЗдесь expensiveFunction() будет вызываться при каждом рендере, даже если состояние уже инициализировано. Это может привести к ненужным вычислениям.
const [state, setState] = useState(() => expensiveFunction()); // вызывается только один разТеперь функция выполняется только при первом рендере. Это особенно полезно для сложных вычислений, чтения из localStorage или парсинга больших данных.
Используйте функцию в useState для оптимизации производительности, когда инициализация состояния требует значительных ресурсов. Это простая практика, которая помогает избежать лишних вычислений и делает код более предсказуемым.
Уровень
Рейтинг:
4
Сложность:
3
Навыки
JavaScript
React
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию