У меня есть сценарий, когда я вызываю gql-запрос вручную, используя ApolloClient.query (), но есть вероятность, что я не получу подписку в данных результата ... автоматический запуск запроса при монтировании компонента работает нормально ...
есть идеи о том, как использовать подписку в режиме ручного запроса?
Это то, чего я пытаюсь достичь ...
this.props.client.query({ query:getPost, variables:{id:100} })
.then(data => {
this.subscription = data.data.subscribeToMore({
// subscription code here...
})
})
.catch(error => {
console.log(error);
});
позвольте мне объяснить сценарий ..
1) У меня есть форма запроса, поданная и отправленная, записи отправляются в БД, я получил _id ... и теперь жду подтверждения запроса на том же экране..
2) теперь кто-то другой на другом экране получил новую запись и просто нажал утвержденную кнопку, запись обновлена в БД ..
3) теперь я хочу, чтобы утверждение отображалось наэкран ... все это должно происходить мгновенно ... или срок действия запроса истекает, скажем, через 1 минуту ...
теперь мой тест равен 3, как я могу получить обновление одобрения на том же экране ... нехочу использовать другой компонент .. recordAdd является calleчерез ApolloClient.query (), что мне нужно сделать после того, как AddRec успешно выполнен и получен _id, мне нужно установить на него подписку ... но он не работает, если я не запускаю в ComponentWillReceiveProps ()