为什么 React useState 返回 const 数组

bun*_*nny 5 javascript reactjs react-hooks

我目前正在学习 React 和 React hook。使用 useState 的经典示例如下:

const [count, setCount] = useState(0);
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么返回的数组是 const?我认为至少 count 的值会随着时间的推移而改变。

Shu*_*tri 10

返回的值useState不是常量数组,而只是用户决定声明为的数组const。把上面的想成

const stateValue = useState(0);
const count = stateValue[0];
const setCount = stateValue[1];
Run Code Online (Sandbox Code Playgroud)

简而言之,语法const [count, setCount] = useState(0);Array destructuring syntax.

不是它被声明为const因为您没有在代码中重新分配count或分配setCount其他内容,而是仅使用setCount方法来更新状态计数。


React 作者决定使用state valueand返回一个数组,state setter以便您可以随意命名它,而不是在解构时使用预先确定的名称。

  • “这样你就可以将其命名为你想要的任何名称,而不是在解构时使用预先决定的名称”,这就是我一直在寻找的答案! (9认同)