gpt4 book ai didi

javascript - Apollo React - ApolloClient 设置中的 `useMutation`?

转载 作者:行者123 更新时间:2023-12-02 21:54:56 25 4
gpt4 key购买 nike

我有一个有趣的情况。

我想使用 Apollo 本身发起刷新 token 请求(也称为调用突变)

有什么想法,如何实现这样的目标吗?

export default new ApolloClient({
link: ApolloLink.from([
onError(({ graphQLErrors, networkError, operation, forward }) => {
// useMutation(REFRESH_ACCESS_TOKEN)
}),
]),

new HttpLink({...}),
})

基本上,我只是在创建新的 ApolloClient 实例时尝试在 onError 内使用 useMutation(REFRESH_ACCESS_TOKEN)

问题:无效的 Hook 调用。钩子(Hook)只能在函数组件的主体内部调用。

谢谢。

最佳答案

您不能在功能性 React 组件之外使用钩子(Hook)。您可以直接使用客户端进行查询和更改 - 请记住,以这种方式运行的任何查询都将是不可观察的(即,如果缓存发生更改,则不会更新)。

const client = new ApolloClient({
link: ApolloLink.from([
onError(({ graphQLErrors, networkError, operation, forward }) => {
client.mutate({ mutation, variables })
.then(({ data }) => {
console.log(data)
})
.catch((error) => {
console.log(error)
})
}),
new HttpLink({...}),
]),
})

export default client

关于javascript - Apollo React - ApolloClient 设置中的 `useMutation`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60028883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com