阵营阿波罗 - 进行多项查询
问题描述:
我有一个查询文件看起来像这样:阵营阿波罗 - 进行多项查询
import {gql} from 'react-apollo';
const queries = {
getApps: gql`
{
apps {
id
name
}
}
`,
getSubjects: gql`
{
subjects {
id
name
}
}
`
};
export default queries;
我那么这个文件导入到我的阵营组成:
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客户端的compose
功能(docu)。
编辑: 如果你有多个查询,你应该命名它们。
所以你的情况,它可能是这样的:
import React, {Component} from 'react'
import queries from './queries'
import { 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);
我也正是这种无济于事:( – user2465134
奇怪,你尝试'的console.log(this.props )'在渲染功能? –
是的,我试过了,只看到了我期待的一个属性 – user2465134