属性 'subscriptionClient' 是私有的,只能在 class 'WebSocketLink'.ts(2341) 内访问

Property 'subscriptionClient' is private and only accessible within class 'WebSocketLink'.ts(2341)

"@apollo/client": "^3.0.2"
"@types/node": "^14.0.20",
"@types/react": "^16.9.49",
"typescript": "^4.0.3"

所以我在尝试使用以下代码将文件转换为打字稿时遇到上述错误:

lib/withData.ts

  import { WebSocketLink } from '@apollo/client/link/ws';

  const wsLink = isBrowser ? new WebSocketLink({
    uri: process.env.NODE_ENV === 'development' ? endpointWS : prodEndpointWS,
    options: {
      reconnect: true,
      lazy: true
    }
  }) : null;

  if (wsLink) { 
    wsLink.subscriptionClient.on("connecting", () => {
      console.log("connecting");
    });
    
    wsLink.subscriptionClient.on("connected", () => {
      console.log("connected");
    });
    
    wsLink.subscriptionClient.on("reconnecting", () => {
      console.log("reconnecting");
    });
    
    wsLink.subscriptionClient.on("reconnected", () => {
      console.log("reconnected");
    });
    
    wsLink.subscriptionClient.on("disconnected", () => {
      console.log("disconnected");
    });
    
    wsLink.subscriptionClient.maxConnectTimeGenerator.duration = () =>
      wsLink.subscriptionClient.maxConnectTimeGenerator.max;
  }

我该如何解决这个问题?我的部分回购位于:https://github.com/TheoMer/next_apollo

我通过将 wsLink 声明为:

解决了这个问题
let wsLink: any;