如何解决永远不会调用React-Apollo useLazyQuery
我正在运行一个Amplify应用程序(AWS Amplify + AppSync + DynamoDB) 当特定状态更改时,应触发lazyQuery。 但是,即使状态发生了变化,并且正在进行调用,似乎也没有任何反应,并且数据也从未返回。
我尝试使用Apollo开发工具检查查询,但该查询从不运行,也没有出现在“网络”标签上,似乎只是被跳过了
我也尝试捕获{error}变量上的任何错误,仍然没有发现
这是我的代码的简单版本:
const [listVideos,{ data,loading,error,called }] = useLazyQuery(
gql(queries.listVideos));
useEffect(() => {
console.log('organizationId has changed: ',organizationId);
if (organizationId) {
// It reaches here,but never executes the query
listVideos({
variables: {
videoOrganizationId: organizationId,},fetchPolicy: "no-cache",});
}
},[organizationId])
if (data) {
// Never happens
const items = data.listVideos.items;
console.log('Items fetched: ',items);
}
if (error {
// Never called
console.log('Error,',error);
}
if (called) {
// It was called once,but never happend again
console.log('It was called!');
}
我还试图在useEffect内运行数据检查器,以监视数据变量的变化
useEffect(() => {
console.log('data has changed: ',data);
if (data) {
const items = data.listVideos.items;
console.log('Items fetched: ',items);
}
},[data]);
将variables
块移至useLazyQuery定义行也无法正常工作……有什么想法吗?
PS:对我的代码的其他查询工作正常
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。