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

5

我刚开始写一些自定义的hooks,有个问题浮现在脑海里,是应该以数组或对象的形式返回一组值呢?
useState为什么返回一对值的数组而不是具有两个属性的对象?
我感觉我读过相关内容,但无法回忆起来在哪里读到的。 谢谢。


4
因为用户更容易给数组元素命名。 - JJJ
没问题,谢谢。 - Vishwas
1个回答

3

进一步解释@Vishwas 评论的内容,它与命名有关。

这在useState文档的注释中简要提到。

当我们使用useState声明状态变量时,它会返回一个包含两个元素的数组。第一个元素是当前值,第二个元素是一个函数,用于更新该值。直接使用索引[0][1]访问它们可能会有些困惑,因为它们具有特定的含义。这就是为什么我们使用数组解构的原因。

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

在React内部,它将array[0]处的数据作为当前值进行处理,将array[1]处的数据作为更新函数进行处理。只有位置很重要,而不是名称。当开发人员实现useState时,他们可以为这些位置上的值提供有意义的名称。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接