我最近将 Apollo 客户端版本从 3.5.8 更新到 3.12.0,现在使用
useLazyQuery
钩子时遇到错误。错误指出:
observable.reobserveAsConcast is not a function
此错误似乎是在
executeQuery
函数内触发的,该函数由 useLazyQuery
内部使用。这是代码:https://github.com/apollographql/apollo-client/blob/6ffb5a34a39657568db7f4e42ed60d8679cb817f/src/react/hooks/useLazyQuery.ts#L222
我像这样使用
useLazyQuery
:
const [
fetchData,
{ data, loading: isLoading, error: fetchError },
] = useLazyQuery(SOME_QUERY, {
fetchPolicy: "no-cache",
});
每当我触发
fetchData
功能时就会发生错误。
我也从版本17更新到了18
react
Apollo 客户端 3.12.0 中
useLazyQuery
或 ObservableQuery
的使用方式是否有任何变化?
我非常感谢任何有关解决此问题的指导或见解。谢谢!
Apollo 客户端 3.12.0 中 useLazyQuery 或 ObservableQuery 的使用方式是否有任何变化?
不,不存在此类更改,也不存在会导致此行为的更改。
如果我猜的话,我会说你可能会在这里将现代版本的钩子与过时的
ApolloClient
实例结合起来 - 检查你的 node_modules
文件夹,也许还有 yarn why @apollo/client
/npm ls @apollo/client
(如果有机会的话)安装了多个版本的 Apollo 客户端。