【问题标题】:Getting apollo client in sub view to use queries manualy在子视图中获取 apollo 客户端以手动使用查询
【发布时间】:2019-05-27 16:25:06
【问题描述】:

我是使用 react-native 的新手,我没有得到关于在我的应用程序中使用 ApolloClient 的任何信息。我不明白如何使用客户端向我的 graphql api 发出请求。这是我的 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 是一个基本的堆栈导航器。我读过我应该使用 react-apollo 的组件 Query,但我希望对我的查询有更多的“控制”,并尽可能手动使用它们。我想在我的导航器的子视图中有一个类似功能的功能:

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

如何执行这个技巧?

提前致谢

【问题讨论】:

    标签: react-native apollo-client


    【解决方案1】:

    我不是 100% 肯定的。我自己从来没有这样做过。但我相信你必须这样做......

    function async getUserInfo() {
      return await client.query(MyGraphQuery);
    }
    
    1. 我将函数设为异步
    2. 等待后返回查询结果
    3. 删除 gql 标记的查询定义周围的 {}。 (确保它是一个 gql 标记查询)。不过,我对这种语法并不肯定。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2023-03-29
      • 2021-11-26
      • 2019-10-22
      • 2019-04-16
      • 2022-08-20
      • 2020-03-15
      • 2018-02-09
      • 2021-11-23
      • 2021-01-16
      相关资源
      最近更新 更多