如何解决无法读取未定义的属性“ refetch”
这是我的代码
const NewVerificationCode = () => {
const { loading,error,data = {},refetch } = useQuery(CONFIRMATION_CODE,{
skip: true,notifyOnNetworkStatusChange: true,fetchPolicy: "no-cache",});
return <div onClick={() => refetch()}>CONFIRMATION</div>;
};
const CONFIRMATION_CODE = gql`
query {
my {
sendNewTokenForConfirmation
}
}
`;
我提出请求时遇到错误
未捕获的TypeError:无法读取未定义的属性“ refetch”
解决方法
https://pastebin.com/gEF5s5Yc #include "classes.h" void Library::check_Out(Patron& person,Book& a){ if (check_Book(a) && check_User(person)) { if (!person.check_If_Owes_Fee()) { a.checkOut(); Transaction person.get_Patron_Name(); //error here } else cout << "Can't perform operation. User owes a fee"; } else cout << "Invalid,user or book not in library"; }
似乎您试图从未定义的#include "classes.h"
int main() {
Book one("123H","Hey","Cool",Date(31,12,2020),Genre::FICTION);
Book two("123H",Genre::CHILDREN);
operator<<(cout,one);
return 0;
}
错误“逃脱”-不建议使用的方法...使用
data = {}
...在主要内容之前或
data
if(loading) return <Loading />
选项阻止执行钩子,因此不可能if(data) return <div onClick={() => refetch()}>CONFIRMATION</div>;
return null;
。
只需使用skip
或使用某种状态来控制refetch
选项,例如:
useLazyQuery
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。