我们可以在reactjs hooks中使用useState()的对象解构吗?

Mel*_*rge 5 javascript reactjs react-hooks

根据 Reactjs 中 Hooks 的文档,

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

他们使用数组解构。我们可以使用对象解构来代替数组解构吗?

Sak*_*oor 7

我完全同意@Patrick 给出的答案。自 React 团队实施以来,它遵守所有用例。实际上不需要将返回值放入对象中,因为它不需要通过键访问它或以后需要更新。这里的一个优势是数组的解构部分比对象更容易。

正如我们所看到的,const [count, setCount] = useState(0);我们可以对 count 和 setCount 使用任何名称。在对象中我们需要这样做:

// grab the state value and setState func but rename them to count and setCount
   const { stateValue: count, setState: setCount } = useState(0);
Run Code Online (Sandbox Code Playgroud)

在数组中:

// grab in order and rename at the same time
   const [count, setCount] = useState(0);
Run Code Online (Sandbox Code Playgroud)


Pat*_*und 5

useState返回一个数组,所以不,在这种情况下,您必须使用数组解构。

澄清一下,这并不意味着所有 React 钩子函数都需要返回一个数组。

如果您创建自己的 hook,则可以让它返回您喜欢的任何内容,包括一个可以解构的对象。