使用neo4j-graphql-js调用自动生成的查询和变异

时间:2018-10-09 07:09:47

标签: neo4j graphql apollo grandstack

在我对另一个问题提出建议之后,对于neo4j-graphql-js 1.0.2版,现在自动生成的架构支持关系。

到目前为止,由于一种复杂的形式,我一直在做的事情是将我的graphql查询导入到我的React组件中,如下所示:

import { CREATE_NEW_RECIPE, CREATE_RECIPE_INGREDIENTS } from '../../graphql';

我将使用react-apollo'compose'来导出我的react组件,如下所示:

const CreateRecipeWithMutations = compose(
    graphql(CREATE_NEW_RECIPE, { name: 'CreateRecipe' }),
    graphql(CREATE_RECIPE_INGREDIENTS, { name: 'CreateIngredientRelation' }))(CreateRecipe)

export default CreateRecipeWithMutations

然后我将这些graphql突变/查询称为:

        const recipe = await this.props.CreateRecipe({
            variables: {
                name: this.state.name,
                time: this.state.time, true,
                instructions: this.state.instructions
            }
        })

当我想使某些突变仅根据早期突变的结果运行时,这个概念就是一种使用这些graphql查询而不使用graphql-tag的方法。

现在neo4j-graphql-js生成了我编写的许多手工制作的东西,这很棒,我想使用它们。我在GraphQL Playground中看到了它们,并且可以在其中使用适当的参数运行它们。如何在我的react组件中访问它们而又不提前知道它们?我知道如果我正在使用graphql-tag,则可以定义我的对象并像在此文件中的do一样传递查询参数:https://github.com/grand-stack/grand-stack-starter/blob/master/ui/src/UserList.js

但是,我不想使用类似的查询,并且希望在不将其包装在标签中的情况下调用它们。可能有一种方法可以使用标记,而无需将其包含在render return语句中,但是我还无法使它正常工作。如果是这样,我不会反对那样使用它。

任何帮助将不胜感激。

0 个答案:

没有答案