Проверяет понимание того, как useState сохраняет состояние между рендерами и почему обычная переменная этого не делает.
React-компонент — это функция, которая вызывается заново при каждом рендере. Любая обычная переменная, объявленная внутри, создаётся с нуля при каждом вызове и не сохраняет предыдущее значение. Хук useState решает эту проблему: React хранит состояние вне функции компонента и возвращает его при каждом рендере.
При первом рендере useState инициализирует значение. React запоминает его в связке с позицией хука в компоненте. При последующих рендерах возвращается уже сохранённое значение, а не начальное.
function Counter() {
let count = 0; // сбрасывается каждый рендер
const [state, setState] = useState(0); // сохраняется
return (
<button onClick={() => {
count++; // не вызовет рендер и потеряется
setState(state + 1); // обновит UI
}}>
{state}
</button>
);
}
Итог: useState применяют для любых данных, которые должны сохраняться между рендерами и влиять на отображение, а обычные переменные подходят только для вычислений внутри одного рендера.
Уровень
Рейтинг:
5
Сложность:
3
Навыки
JavaScript
React
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию