Mel*_*rge 5 javascript reactjs react-hooks
根据 Reactjs 中 Hooks 的文档,
const [count, setCount] = useState(0);
Run Code Online (Sandbox Code Playgroud)
他们使用数组解构。我们可以使用对象解构来代替数组解构吗?
我完全同意@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)
useState返回一个数组,所以不,在这种情况下,您必须使用数组解构。
澄清一下,这并不意味着所有 React 钩子函数都需要返回一个数组。
如果您创建自己的 hook,则可以让它返回您喜欢的任何内容,包括一个可以解构的对象。