gpt4 book ai didi

graphql - 如何将字段列表片段插值移到括号之外

转载 作者:行者123 更新时间:2023-12-04 10:30:52 25 4
gpt4 key购买 nike

这是我正在使用的当前 graphQL 的模拟。

const aDynamicListOfFieldsComingFromElsewhere = 'foo bar anotherField etc'

const query = gql`{
QueryResult: TableName {
Data {
id
name
${aDynamicListOfFieldsComingFromElsewhere}
}
}
}`

这...从功能上讲,有效。但是由于多种原因被认为是一种糟糕的方法,其中之一是 eslint-plugin-graphql 提供的 linting 支持。

Eslint 给了我以下错误提示:
Invalid interpolation - fragment interpolation must occur outside of the brackets  graphql/template-strings

我设法找到了一些很好的变量示例,但没有一个提供包含外部定义变量的方法。

在此先感谢您的帮助!

最佳答案

您可以为此使用指令。 GraphQL 规范:https://graphql.org/learn/queries/#directives

查询应如下所示:

const query = gql`
query QueryResult($withFoo: Boolean!, $withBar: Boolean!, $withAnotherField: Boolean!, $withEtc: Boolean!) {
Data {
id
name
foo @include(if: $withFoo)
bar @include(if: $withBar)
anotherField @include(if: $withAnotherField)
etc @include(if: $withEtc)
}
}
`

还有应该传递到你的 GraphQL 客户端的变量:
{
withFoo: true,
withBar: true,
withAnotherField: false,
withEtc: true
}

关于graphql - 如何将字段列表片段插值移到括号之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60419837/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com