【问题标题】:Relay mutation. FatQuery. Ask all fields in REQUIRED_CHILDREN中继突变。脂肪查询。询问 REQUIRED_CHILDREN 中的所有字段
【发布时间】:2016-12-30 11:12:54
【问题描述】:

我的问题是:我有一个突变配置,其中我有一个带有子查询数组的 REQUIRE_CHILDREN 配置。如何从有效负载对象中获取所有可能的字段?

{
 type: 'REQUIRED_CHILDREN',
 children: [
  Relay.QL`
   fragment on MyPayload {
     me {
       id
       ...others field
     }
   }`]

那么我如何从me 对象中询问所有可能的字段?如果我只指向fragment on MePayload { me } 对象中继仍然返回我me { id }。我希望中继返回me 对象中的所有字段。谢谢。

【问题讨论】:

    标签: reactjs graphql relayjs


    【解决方案1】:

    您不能 - 您的客户端代码需要明确指定您要获取的所有字段。然后这些字段由babel-relay-plugin 等进行静态验证。

    顺便说一句,您可能也不想使用REQUIRED_CHILDREN。这仅对获取在突变的onSuccess 回调中可访问的字段有用,因此永远不会写入中继存储并且中继容器可以访问...

    【讨论】:

    • 问题是我想向我的服务器发送一个请求并取回一些数据(不是通过中继)。例如:我有一个朋友表单,并且我有一个用于从中获取初始变量的端点。所以我的流程是:我向服务器发送一个请求,并为我的表单获取初始数据,然后我需要调度该数据(用于进入我的组件)。那么如何从const initialData = await MyMytation(); 获取完整数据?
    • 如果“端点”是指用于获取初始数据的非 GraphQL 端点,您可以随心所欲地获取该信息(在此处插入收藏夹 ajax-library-here)。然后只需将其填充到您的表单中并将这些变量提供给您的突变等。
    • 如果“端点”是指您的 GraphQL 架构中有某种“草稿表单数据”,您可以像在 Relay 中获取任何其他 GraphQL 数据一样获取该数据:用片段创建一个容器,将该容器嵌套在 Route 下,等等。
    猜你喜欢
    • 2016-11-06
    • 1970-01-01
    • 2022-06-14
    • 2016-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    相关资源
    最近更新 更多