什么是updateQuery应该在客户端订阅中做什么 - 道具不更新

时间:2017-02-07 23:31:12

标签: react-apollo apollo-client

使用带有graphql订阅的apollo客户端,我在示例中跟随,但是我没有看到订阅事件中的updateQuery更新我的属性。 updateQuery的返回值是否应该自动处理 - 或者我是否应该自己将其保存到商店?

 componentWillReceiveProps(newProps) {
  if (!newProps.data.loading && !this.subscription) {

    this.subscription = newProps.data.subscribeToMore({
      document: getMessages,
      variables: { id: 'foo'},
      updateQuery: (previousState, {subscriptionData}) => {
        const newEntry = subscriptionData.data.createMessage;
        return {
          Conversation: {
            messages: [
              ...previousState.Conversation.messages,
              {
                ...newEntry
              }
            ]
          }
        }
      },
      onError: (err) => console.error(err),
    })
  }
}

0 个答案:

没有答案