确保你已经安装了 apollo-link-ws 和 subscriptions-transport-ws 包。
创建一个 WebSocket 连接,并将该连接传递给 subscriptions-transport-ws 的 createWebSocketLink 函数。
import { WebSocketLink } from 'apollo-link-ws';
import { SubscriptionClient } from 'subscriptions-transport-ws';
import { createWebSocketLink } from 'subscriptions-transport-ws';
const wsClient = new SubscriptionClient('ws://localhost:4000/subscriptions', {
  reconnect: true,
  lazy: true,
});
const wsLink = new WebSocketLink(wsClient);
const createClient = () => {
  return new ApolloClient({
    cache: new InMemoryCache(),
    link: wsLink,
  });
};
// pages/_app.js
import { ApolloProvider } from '@apollo/client';
import { useApollo } from '../lib/apolloClient';
export default function App({ Component, pageProps }) {
  const apolloClient = useApollo(pageProps.initialApolloState);
  return (
    
       
     
  );
}
import { useSubscription, gql } from '@apollo/client';
const subscription = gql`
  subscription MySubscription {
    mySubscription {
      id
      name
    }
  }
`;
function Subscription() {
  const { data, error } = useSubscription(subscription);
  if (error) return Error
;
  return (
    
      Subscription data:
      {JSON.stringify(data, null, 2)}
    
  );
}
function Page() {
  return (
    
      Subscriptions
       
    
  );
}