出现这个问题通常是因为没有正确导入Apollo客户端。以下是一个正确导入的示例:
import { ApolloClient, InMemoryCache, HttpLink } from '@apollo/client'; import { WebSocketLink } from '@apollo/client/link/ws';
const httpLink = new HttpLink({ uri: '/graphql' });
const wsLink = new WebSocketLink({ uri: ws://${window.location.host}/graphql
, options: { reconnect: true } });
const splitLink = split(({ query }) => {
const definition = getMainDefinition(query);
return definition.kind === 'OperationDefinition' && definition.operation === 'subscription';
}, wsLink, httpLink);
const client = new ApolloClient({
link: splitLink,
cache: new InMemoryCache()
});
确保正确导入及实例化Apollo客户端后,重新运行应用程序即可解决TypeError: value.subscribe不是一个函数的问题。