我正在使用令人敬畏的
https://github.com/apollographql/react-apollo库,我试图看看是否有更好的约定将数据加载到组件中,而不是我现在正在做的事情.
我已经将我的组件设置为与apollo HOC一起将数据加载到我的组件中,如下所示:
const mainQuery = gql` query currentProfileData($userId:String,$communityId:String!){ created: communities(id:$communityId) { opportunities{ submittedDate approvalDate status opportunity{ id } } } } `; const mainQueryOptions = { options: { variables: { userId: '_',communityId: '_' },},}; const ComponentWithData = compose( graphql(mainQuery,mainQueryOptions),)(Component);
这个设置很好,但有一些问题.
>我最终会遇到总是运行两次的查询,因为我需要将props传递给apollo refetch进行查询.我还必须传入一些虚拟数据(也称为“_”)以防止无用的数据获取.
>我最终不得不在componentWillReceiveProps中进行一些花哨的检查,以防止多次加载查询.