ApolloError:forward 不是 nextjs 中的函数

ApolloError: forward is not a function in nextjs

提问人:Tamara 提问时间:11/8/2023 最后编辑:Tamara 更新时间:11/9/2023 访问量:24

问:

我不确定如何解决这个 ApolloError:forward 不是一个函数 问题。

我尝试根据文档添加错误代码,但没有任何效果

请帮忙!

apollo.client.ts(阿波罗客户端.ts)

import { ApolloClient, InMemoryCache } from '@apollo/client'
import { onError } from '@apollo/client/link/error';

const API_URL = process.env.WORDPRESS_API_URL
const errorLink = onError(
  ({ graphQLErrors, networkError }) => {
      if (graphQLErrors)
          graphQLErrors.forEach(
              ({ message, locations, path }) =>
                  console.log(
                      `[GraphQL error]: Message: ${message}, Location:           ${JSON.stringify(locations)}, Path: ${JSON.stringify(path)}`
                   )
          );
      if (networkError) {
          console.log(`[Network error]: ${JSON.stringify(networkError)}`);
      }
  }
);

const client = new ApolloClient({
  uri: API_URL, 
  link: errorLink,
  cache: new InMemoryCache(),
})

export default client
下一个.js apollo客户端

评论


答:

0赞 phry 11/9/2023 #1

当你使用的那一刻,你就不能再使用了 - 它将被忽略。因此,你现在只有一个没有网络层,而不是以前。linkurlHttpLinkErrorLink

这是你需要做的:

const errorLink = onError(/* .... */)
const httpLink = new HttpLink({ 

const client = new ApolloClient({ uri: API_URL })
  link: errorLink.concat(httpLink),
  cache: new InMemoryCache(),
})