Ank*_*yan 7 javascript reactjs graphql react-hooks urql
我正在尝试使用以下代码一次只执行 urql useQuery。但出于某种原因,每次重新渲染时都会调用它。
根据文档https://formidable.com/open-source/urql/docs/basics/queries/#pausing-usequery 这个查询应该最初在渲染时暂停,它应该只在从 React.useEffect 调用时执行山。
const [{ fetching, data, error }, reExecute] = useQuery({
query: INITIAL_CONFIG_QUERY,
pause: true
});
React.useEffect(() => {
reExecute();
}, []);
Run Code Online (Sandbox Code Playgroud)
使用 urql 仅一次执行查询的最佳方法是什么?
小智 5
Urql 维护者在这里,我假设如果组件不断重新安装,就会发生一些额外的事情。这个钩子不应该让包装组件重新安装。
话虽如此,您始终可以使用useClient
钩子来获取 urql-client,然后client.query().toPromise()
在该钩子中使用并使用返回的结果。
在您的情况下,这可能是:
const MyComponent = () => {
const client = useClient();
useEffect(() => {
client.query(
INITIAL_CONFIG_QUERY
).toPromise().then(result => /* do something */)
}, [])
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
764 次 |
最近记录: |