【问题标题】:Why does the NODE_DELETE configuration needs to specify a connection?为什么 NODE_DELETE 配置需要指定连接?
【发布时间】:2017-06-01 14:40:43
【问题描述】:

我目前正在构建一个删除节点的突变。 我查看了NODE_DELETE mutator 配置,但它指定它需要parentNameparentIDconnectionName

为什么删除节点需要这些字段?由于 Relay 使用全局 ID,因此从所有连接和/或引用它的所有字段中删除节点应该相当容易。

查看文档:
Relay NODE_DELETE documentation

【问题讨论】:

    标签: relayjs


    【解决方案1】:

    你的直觉是正确的。 为了从数据存储中删除节点,这些字段是多余的,在此操作期间仅使用config.deletedIDFieldNamewriteRelayUpdatePayload 模块中的详细信息)。

    但是,您不能将其他字段留空,因为在验证扩展 RelayMutation 类的突变期间仍然需要这些字段。我不知道这种不一致从何而来,但值得注意的是,Relay 团队改变了开发方向,RelayMutation 将被弃用。

    RelayMutation 和胖/跟踪查询。未来版本将弃用 此 API 支持静态突变 API。我们建议使用 RelayGraphQLMutation 以简化向新突变的过渡。

    来源:Related issue on github

    快速查看 Relay 的源代码后,似乎这个过渡 API 没有使用旧的配置验证方法,但我还没有机会尝试它,所以你可以自己确认。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多