属性 '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;
"@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;