Проверяет понимание допустимых типов начального значения для хука useState в React.
Хук useState в React принимает начальное значение состояния. Это может быть любой тип данных JavaScript: примитивы (числа, строки, булевы значения), объекты, массивы, null, undefined или даже функция. Главное правило — значение должно быть синхронным и не асинхронным (например, Promise не подойдёт).
Если начальное состояние требует сложных вычислений, можно передать функцию. React вызовет её только один раз при первом рендере компонента, что улучшает производительность. Например:
const [state, setState] = useState(() => {
const initial = expensiveComputation();
return initial;
});Это особенно полезно, когда начальное значение получается из localStorage или API (но синхронно).
useState(0), useState('hello'), useState(true)useState({ name: 'John', age: 30 })useState([1, 2, 3])useState(null)useState(() => 42)Нельзя передавать асинхронные значения, такие как Promise или результат вызова асинхронной функции. Если нужно загрузить данные с сервера, используйте useEffect для установки состояния после монтирования.
Используйте useState с любым синхронным значением. Для дорогих вычислений применяйте ленивую инициализацию через функцию. Это стандартная практика в React для управления состоянием компонентов.
Уровень
Рейтинг:
4
Сложность:
2
Навыки
JavaScript
React
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию