【问题标题】:Request to GraphQL with only Queries without Fragments仅使用不带片段的查询来请求 GraphQL
【发布时间】:2016-10-28 23:57:39
【问题描述】:

我想从 Relay only Queries without Fragments 向 GraphQL Server 请求。 例如,链接上的简单中继应用程序:https://facebook.github.io/relay/prototyping/playground.html#/,这总是向 GraphQL 服务器发布一个查询,包括这样的片段:

query GreetingsQuery {
    greetingsSchema {
        ...F0
    }
} 
fragment F0 on GreetingsQL {
    hello
}

但我只想发布一个没有任何片段的查询,就像这样:

query UserQuery {
    users() {
        id
        name
    },
}

有什么解决办法吗?

【问题讨论】:

    标签: reactjs graphql relay


    【解决方案1】:

    您可以在 Relay 用户查询中内联整个查询。不需要碎片。如果您没有查询参数,请确保您没有空括号。

    【讨论】:

    • 你能告诉我更清楚吗?根据我对 Container of Relay 的了解,Container 总是使用片段来声明组件的数据需求,例如:module.exports = Relay.createContainer(Container-name, { fragments: { user: () => Relay.QL ...., }, }); 有什么方法可以在不使用 Fragments 的情况下在 Component 或 Container 中创建查询?跨度>
    • 是的,所以从技术上讲,您不需要创建任何片段。您可以将其作为空对象文字保留在中继容器中。只要您的用户查询定义了整个查询,就可以了。换句话说,您不需要使用${Component.getFragment('F0')} 动态地从容器中动态拉入这些片段。用硬编码的片段字段替换它。
    猜你喜欢
    • 2021-07-09
    • 2020-07-29
    • 2019-06-20
    • 2018-11-10
    • 1970-01-01
    • 2021-04-23
    • 1970-01-01
    • 2021-07-02
    • 2021-08-27
    相关资源
    最近更新 更多