我目前正在学习React和React钩子。使用useState的经典示例如下:
const [count, setCount] = useState(0);
我的问题是为什么返回的数组是const?我认为至少count的值会随着时间而改变。
答案 0 :(得分:1)
useState
返回的值不是const数组,而是用户决定声明为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
方法来更新状态计数。
反应作者决定返回一个包含state value
和state setter
的数组,以便您可以根据需要命名它,而不用在解构时使用预先确定的名称。