Получение клиента apollo в представлении sub для использования запросов вручную - PullRequest
0 голосов
/ 31 декабря 2018

Я довольно новичок в использовании Reaction-native, и у меня нет информации об использовании ApolloClient в моем приложении.Я не могу понять, как использовать клиент, чтобы сделать запрос к моему api graphql.Это мой файл App.js.

import React from 'react';
import { ApolloProvider, Query } from 'react-apollo';
import Client from './src/Network/client';
import AppContainer from './src/Navigation/navigator';

export default class App extends React.Component {

 constructor(props) {
    super(props);
    this.client = new Client().createClient();
}

render() {
    return (
        <ApolloProvider client = {this.client}>
            <AppContainer/>
        </ApolloProvider>
    );
}
}

Итак, мой AppContainer является базовым стековым навигатором.Я читал, что должен использовать компонент Query из response-apollo, но я хотел иметь больше «контроля» над своими запросами и использовать их вручную, если это возможно.Я хотел бы иметь что-то вроде функции в подпредставлениях моего навигатора, которая могла бы делать:

function getUserInfo() {
  client.query({MyGraphQuery})... ;
}

Как выполнить этот трюк?

Заранее спасибо

1 Ответ

0 голосов
/ 31 декабря 2018

Я не на 100% уверен.Я никогда не делал это сам.Но я полагаю, вам придется сделать это следующим образом ...

function async getUserInfo() {
  return await client.query(MyGraphQuery);
}
  1. Я сделал функцию async
  2. , вернув результат запроса после ожидания
  3. удалите {} вокруг определения запроса gql с тегами.(Убедитесь, что это запрос с тегом gql).Я не уверен в этом синтаксисе.

Надеюсь, это поможет.

...