Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有附加可变信息的GraphQL中继边是否也应该是节点?_Graphql_Relay_Graphql Relay - Fatal编程技术网

带有附加可变信息的GraphQL中继边是否也应该是节点?

带有附加可变信息的GraphQL中继边是否也应该是节点?,graphql,relay,graphql-relay,Graphql,Relay,Graphql Relay,根据,边可以具有附加信息。据我所知,对于UserProjectConnection,这可以是一个role字段,指定用户在项目中的角色。但是,由于您希望能够更改角色,因此我希望这样的边缘也是一个节点(即具有ID),这样当您更改角色时,客户端的缓存会自动更新 使具有(可变)信息的边实现节点接口是常见做法吗 需要注意的是,这意味着您不再具有从GraphQL对象类型到DB类型的一对一映射:因为用户/项目关系是双向关系,而连接是单向关系,您将拥有一个UserProjectConnection和Projec

根据,边可以具有附加信息。据我所知,对于
UserProjectConnection
,这可以是一个
role
字段,指定用户在项目中的角色。但是,由于您希望能够更改角色,因此我希望这样的边缘也是一个
节点
(即具有ID),这样当您更改角色时,客户端的缓存会自动更新

使具有(可变)信息的边实现
节点
接口是常见做法吗

需要注意的是,这意味着您不再具有从GraphQL对象类型到DB类型的一对一映射:因为用户/项目关系是双向关系,而连接是单向关系,您将拥有一个
UserProjectConnection
ProjectUserConnection
,其中相同的字段映射到相同的DB实体,这意味着您的全局ID方法不能完全依赖DB实体,并且在创建ID时需要考虑节点类型