Стандартный способ использования React useState Hook заключается в следующем:
const [count, setCount] = useState(0);
Однако эта const count
переменная явно будет переназначена на другое примитивное значение.
Почему тогда переменная не определена как let count
?
Ответы:
На самом деле, нет. Когда компонент перерисовывается, функция выполняется снова, создавая новую область видимости, создавая новую
count
переменную, которая не имеет ничего общего с предыдущей переменной.Пример:
Примечание: хуки намного сложнее и на самом деле не реализованы так. Это просто для демонстрации похожего поведения.
источник
const
является защитой от переназначения значения ссылки в той же области видимости.От MDN
Также
источник
Технически это новая переменная при каждом рендере.
Источник: React Github: Docs - Hooks: это опечатка?
источник
здесь я обнаружил, что const расстраивает, так как count нужно изменить так
источник