在子视图中获取 apollo 客户端以手动使用查询
Getting apollo client in sub view to use queries manualy
我是 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 的组件查询,但我想在我的查询中有更多 "control" 并尽可能手动使用它们。我想在我的导航器的子视图中有一个类似函数的东西,它可以做:
function getUserInfo() {
client.query({MyGraphQuery})... ;
}
如何表演这个技巧?
提前致谢
我不是 100% 肯定。我自己从来没有这样做过。但我相信你必须这样做......
function async getUserInfo() {
return await client.query(MyGraphQuery);
}
- 我将函数设为异步
- 等待后返回了查询结果
- 删除
gql
标记查询定义周围的 {}。 (确保它是一个带有 gql 标记的查询)。不过,我对这种语法并不满意。
希望这对您有所帮助。
我是 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 的组件查询,但我想在我的查询中有更多 "control" 并尽可能手动使用它们。我想在我的导航器的子视图中有一个类似函数的东西,它可以做:
function getUserInfo() {
client.query({MyGraphQuery})... ;
}
如何表演这个技巧?
提前致谢
我不是 100% 肯定。我自己从来没有这样做过。但我相信你必须这样做......
function async getUserInfo() {
return await client.query(MyGraphQuery);
}
- 我将函数设为异步
- 等待后返回了查询结果
- 删除
gql
标记查询定义周围的 {}。 (确保它是一个带有 gql 标记的查询)。不过,我对这种语法并不满意。
希望这对您有所帮助。