Reactjs 单击时GraphQL useLazyQuery无法正常工作
我对GraphQL很陌生。我正在尝试将useLazyQuery钩子用于onBtnClick函数。该按钮应该在每次单击时查询并执行某些操作 我第一次单击按钮时,数据返回未定义,只有第二次尝试后,它才能工作。下面是一些示例代码:Reactjs 单击时GraphQL useLazyQuery无法正常工作,reactjs,graphql,onclick,Reactjs,Graphql,Onclick,我对GraphQL很陌生。我正在尝试将useLazyQuery钩子用于onBtnClick函数。该按钮应该在每次单击时查询并执行某些操作 我第一次单击按钮时,数据返回未定义,只有第二次尝试后,它才能工作。下面是一些示例代码: const [getItemList, { loading, data}] = useLazyQuery(ItemList, { fetchPolicy: 'network-only' }); const onBtnClick = () => { getI
const [getItemList, { loading, data}] = useLazyQuery(ItemList, { fetchPolicy: 'network-only' });
const onBtnClick = () => {
getItemList();
if (loading) {
//do something
});
if (data) {
//do another thing
}
}
return (
<div>
<button onClick={onBtnClick}>Something</button>
</div>
)
有人能给我一些指导或解释吗?因为onBtnClick函数中的数据不是最新的数据。您需要一个useEffect来监听数据并加载更改
useEffect(() => {
console.log(data, loading)
}, [data, loading])