gpt4 book ai didi

javascript - React Apollo - 进行多个查询

转载 作者:IT王子 更新时间:2023-10-29 03:21:27 25 4
gpt4 key购买 nike

我有一个如下所示的查询文件:

import {gql} from 'react-apollo';

const queries = {
getApps: gql`
{
apps {
id
name
}
}
`,
getSubjects: gql`
{
subjects {
id
name
}
}
`
};

export default queries;

然后我将这个文件导入到我的 React 组件中:

import React, {Component} from 'react'
import queries from './queries'

class Test extends Component {
...
}

export default graphql(queries.getSubjects)(graphql(queries.getApps)(Test));

这只会获取其中一个查询 (getApps) 的数据,而不会同时获取这两个查询的数据。如果我一次做一个,它看起来像这样:

export default graphql(queries.getSubjects)(Test);

然后就可以了,但我没有其他查询。是的,我已经分别测试过它们并且它们有效。如何获取它以便两个查询都显示在我的 props.data 中?

最佳答案

我的首选方法是使用 apollo 客户端 ( docu ) 的 compose 功能。

编辑:如果您有多个查询,您应该为它们命名。

所以在你的情况下,它可能看起来像这样:

import React, {Component} from 'react'
import queries from './queries'
import { graphql, compose } from 'react-apollo';

class Test extends Component {
...

render() {
...

console.log(this.props.subjectsQuery, this.props.appsQuery); // should show both

...
}
}

export default compose(
graphql(queries.getSubjects, {
name: "subjectsQuery"
}),
graphql(queries.getApps, {
name: "appsQuery"
}),
)(Test);

关于javascript - React Apollo - 进行多个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43380704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com