【发布时间】:2020-04-11 05:39:14
【问题描述】:
我的理解是,在使用useState()时,我们应该这样声明数组:
const [someBooleanValue, setSomeBooleanValue] = useState(false)
代替
let [someBooleanValue, setSomeBooleanValue] = useState(false)
通常,const 用于不会改变的变量。在这里,someBooleanValue 将发生变化。在这种情况下,发生了什么让我们可以使用 const 关键字?
【问题讨论】:
-
因为 useState 是不可变的。在这种情况下,他们使用 const 因为这是数组破坏而不是定义变量。
-
const用于未重新分配的变量。这禁止您手动为someBooleanValue分配值。 -
@Satif 虽然是数组解构,但还是在定义变量。
-
变量没有改变。每次状态更改时,react 都会重新渲染组件,这是一个新的函数调用,并且您的
consts正在被重新声明。 React 会跟踪下一次声明它们时的值应该是什么,这会导致对 const 变化的混淆。
标签: javascript reactjs ecmascript-6