由于Rules of Hooks,不应有条件地调用钩子。那么,如何使用useQuery
有条件地获取数据?例如,假设我要在功能组件内部获取数据,但前提是someState === someValue
?也就是说,我想避免在任何条件之前调用useQuery()
,因为在这些时候获取数据没有意义。
答案 0 :(得分:6)
在阿波罗的documentation中,它表明您可以添加一个跳过选项: useQuery(query,{skip:someState === someValue})
否则,如果希望查询在运行时而不是立即运行,也可以useLazyQuery
。