GraphQL订阅不会收听所有新创作 - react-apollo

时间:2018-05-17 21:35:35

标签: reactjs graphql react-apollo prisma

enter image description here

我正在使用带有Prisma(http://prismagraphql.com/)的GraphQL订阅并反应+ react-apollo。

在上面的示例中,subscribeToMore(尚未收听数字“3”。因此,查询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
        }
      }
    }
  }
`

完整代码为here

Apollo subscription Documentation

Prisma subscription Documentation

0 个答案:

没有答案