1

在我收到另一个问题的建议后,使用 neo4j-graphql-js 的 1.0.2 版,现在使用自动生成的模式支持关系。

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

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

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

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 中看到了它们,我可以在那里使用适当的参数运行它们。我如何在我的反应组件中访问它们而不提前知道它们?我知道如果我使用的是graphql-tag,我可以定义我的对象并传入一个查询参数,就像这个文件中的do一样:https ://github.com/grand-stack/grand-stack-starter/blob/master/ui /src/UserList.js

但是我不想使用这样的查询并且想在不将它们包装在标签中的情况下调用它们。可能有一种方法可以在不包含在渲染返回语句中的情况下使用标签,但我还不能让它工作。如果是这样,我不会反对以这种方式使用它。

任何帮助,将不胜感激。

4

0 回答 0