React Hooks-为什么用数组结构分解而不是对象结构分解?

时间:2019-07-14 08:51:33

标签: reactjs react-hooks

我刚刚开始编写一些自定义钩子,然后弹出问题,我应该将一组值作为数组或对象返回?
请问useState返回一对值的数组而不是具有两个属性的对象的特定原因吗?
我觉得我已经读过一些关于此的内容,但无法回忆。 谢谢

1 个答案:

答案 0 :(得分:1)

要在@Vishwas comment上进行扩展,这与命名有关。

fine print of the useState docs中已简要提及。

  

当我们使用useState声明状态变量时,它返回一对-包含两个项目的数组。第一项是当前值,第二项是让我们对其进行更新的函数。使用[0][1]来访问它们会有些混乱,因为它们具有特定的含义。这就是为什么我们改用数组销毁的原因。

const [someValue, someUpdateFunction] = useState(0);

在底层,React将array[0]处的数据作为当前值,并将array[1]处的数据作为更新函数。仅职位很重要,命名不重要。开发人员实施useState时,可以为这些位置的值提供有意义的名称。