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以便您可以随意命名它,而不是在解构时使用预先确定的名称。