我正在使用带有 Prisma 的 GraphQL 订阅(http://prismagraphql.com/)和 react + react-apollo。
在上面的示例中,数字“3”尚未被 监听subscribeToMore(
。因此查询chatsQueryConnection
尚未更新。
数字“3”已成功创建,因为该数字在页面刷新后出现。
subscribeToMore
听众:
componentDidMount() {
this.props.chatsQueryConnection.subscribeToMore({
document: CHAT_SUBSCRIPTION,
updateQuery: (prev, { subscriptionData }) => {
console.log('componentDidMountSub')
if (!subscriptionData) {
return prev
}
return Object.assign({}, prev, {
chatsConnection: {
__typename: 'ChatConnection',
edges: [
...prev.chatsConnection.edges,
subscriptionData.data.chat
]
}
})
}
})
}
GrqphQL 订阅查询:
const CHAT_SUBSCRIPTION = gql `
subscription {
chat(where:{mutation_in: CREATED}) {
node {
id
message
author {
name
nameFile
}
}
}
}
`
完整代码在这里