Как прослушать подписки при использовании как клиента http, так и websocket? - PullRequest
0 голосов
/ 16 апреля 2020

Я использую клиент Apollo для подключения к моему серверу grapql. Это происходит следующим образом.

const client = new ApolloClient({
    uri: process.env.REACT_APP_PRISMA_ENDPOINT,
    headers: {
        "authorization": `Bearer ${token}`
    }
});

<ApolloProvider client={client}>
          ... all children component ..
</ApolloProvider>

В одном из компонентов я хочу подписаться на изменение и, таким образом, использовать подписки graphql. Как мне это сделать?

Я попробовал следующее:

const {data, loading} = useSubscription(
    PROJECT_SUBSCRIPTION_QUERY,
    {
        variables: {
            "mutation_in": ["UPDATED", "CREATED", "DELETED"],
            "node": {
                "userId": {
                    "id": getFromLocalStorage(LocalStorageEnum.USER_ID)
                }
            }
        }
    }
);

Но это приводит к HTTP-вызову. Я создал клиент подписки с Apollo, когда я создал HTTP-клиент, как показано выше. Но звонок идет к клиенту HTTP. Как мне подписаться и продолжать слушать вечно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...