如何解决尝试使用订阅者时出现“[Network] undefined” - URQL
我正在尝试设置订阅者以记录有关创建新 Message
的一些输出。
目前使用 Urql,后端使用 ApolloServerExpress。
我在登录到控制台的 useSubscription
方法中收到错误:
message: "[Network] undefined"
name: "CombinedError"
我确信我的后端正在工作,因为我可以使用 Graphiql 游乐场订阅就好了。 就前端而言,我几乎完全按照 Urql 文档中的示例进行操作。
WS 客户端:
const wsClient = createWSClient({
url: "ws://localhost:4000/graphql",});
订阅者交换:
subscriptionExchange({
forwardSubscription(operation) {
return {
subscribe: (sink) => {
const dispose = wsClient.subscribe(operation,sink);
return {
unsubscribe: dispose,};
},};
},}),
消息列表组件:
const newMessages = `
subscription Messages {
newMessage {
content
status
sender {
id
email
}
recipient {
id
email
}
}
}
`;
...
const handleSub = (messages: any,newMessage: any) => {
console.log("Messages: ",messages);
console.log("newMessages: ",newMessage);
};
const [res] = useSubscription({ query: newMessages },handleSub);
console.log("Res: ",res);
解决方法
最后选择了 graphql-ws
并切换到 subscriptions-transport-ws
。
解决了我的问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。