为什么NODE_DELETE配置需要指定连接?

时间:2017-01-17 13:44:24

标签: relayjs

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

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

参见文档:
Relay NODE_DELETE documentation

1 个答案:

答案 0 :(得分:0)

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

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

  

RelayMutation和胖/跟踪查询。未来版本将弃用   这个API支持静态变异API。我们建议使用   RelayGraphQLMutation以缓解向新突变的转变。

来源:Related issue on github

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