我有一个graphql查询和useQuery钩子,它们返回很多数据。我通过单击按钮开始加载,并显示何时完成数据加载。 是否可以使用Promise等待加载数据?你能写吗?
const GET_NAME= gql`
query {
employee {
id
name
}
}
`;
...
function Form () {
...
const { data } = useQuery(
GET_NAME
);
const onClick = () => {
....
return textInput.current!.value=data.employee.name;
答案 0 :(得分:2)
您不需要添加在内部处理的承诺。
文档中的示例
const { loading, error, data } = useQuery(GET_DOGS);
if (loading) return 'Loading...'; // whilst its loading this will retun
if (error) return `Error! ${error.message}`; // if there's an error this will return
return <pre>{data}</pre> // if the other 2 are not true you must have data, this will return
您可以看到加载状态已经在返回中。以及错误。您可以在等待数据返回时对这些值做出响应。