Почему React useState возвращает константный массив - PullRequest
1 голос
/ 18 марта 2019

Я сейчас изучаю React и React hook. Классический пример использования useState приведен ниже:

const [count, setCount] = useState(0);

Мой вопрос: почему возвращаемый массив является const? Я думаю, что, по крайней мере, значение count меняется со временем.

1 Ответ

1 голос
/ 18 марта 2019

Значение, возвращаемое useState, не является константным массивом, скорее это просто массив, который пользователь решил объявить как const.Думайте о вышесказанном как о

const stateValue = useState(0);
const count = stateValue[0];
const setCount = stateValue[1];

Короче говоря, синтаксис const [count, setCount] = useState(0); это Array destructuring syntax.

Не объявлено как const, потому что вы не переназначаете count или setCount на что-то другое в вашем коде, вместо этого просто используете метод setCount для обновления счетчика состояний.


Авторы React решили вернуть массив с state value и state setter, чтобы вы могли называть его как угодно вместо использования предварительно определенного имени при деструктуризации.

...