在这个自定义钩子的返回中,我不明白花括号如何工作(或它们应该做什么)。我知道这是在破坏性,我只是不了解他们的需要。谁能解释?
( SELECT ts, ... FROM TA )
UNION ALL
( SELECT ts, ... FROM TB )
ORDER BY ts
答案 0 :(得分:4)
基本上,您将返回一个数组,该数组在第0个索引处包含一个Object,在第二个索引处包含setUrl
方法。
返回值将隐式转换为:
[{
data: data,
isLoading: isLoading,
isError: isError
}, setUrl]
这就是为什么您可以在组件中像这样使用它的原因:
import React, { useState } from "react";
import { useHackerNewsApi } from "./useHackerNewsAPI";
export default ({ name }) => {
const [{ data, isLoading, isError }, setUrl] = useHackerNewsApi();
return <h1>
<pre> Data - { JSON.stringify(data) }</pre>
<pre> isLoading - { isLoading }</pre>
<pre> isError - { isError }</pre>
</h1>;
};
这是您推荐的Working Demo。