为什么状态变量在 useState 中用 const 声明?

Utk*_*pta 0 javascript reactjs react-hooks

在 React 16 的useState()hook 官方文档中,count状态及其 setter 函数声明为:

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

在提供的示例中。

我的疑问是,为什么他们使用const作为状态变量,其值可以更改?

dan*_*die 5

在 React 中,您不会直接改变状态变量。

this.state.property = 'new value'在类组件中,除了使用之外,您永远不会this.setState({property: 'new value'})提供新的引用。

与钩子相同。你不会像 一样直接改变状态值,count = 2但必须使用setCount(2)让 React 知道状态已更改(并且 React 也可以批量更新状态)。

如果您想深入了解,请查看官方 Reconciliation 文档,了解 React 为何以这种方式工作。(提示:优化)。