在我对另一个问题提出建议之后,对于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语句中,但是我还无法使它正常工作。如果是这样,我不会反对那样使用它。
任何帮助将不胜感激。