栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在中继中,节点接口和全局ID规范起什么作用?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在中继中,节点接口和全局ID规范起什么作用?

Node
根领域,在全球唯一的ID组合,进场时,继电器需要 重新获取
的对象。当您调用
this.props.relay.forceFetch()
或为全局ID已知的对象的查询添加字段到查询中时,就会进行重新引用。

在这种情况下,Relay将短路常规查询并直接使用其全局ID和

node
根调用对对象执行查询。

范例

假设

$showComments
false
,当该查询首次解决。

query {  viewer {    stories(first: 10) {      edges {        node {          id,          comments(first: 10) @include(if: $showComments) {  author,  commentText}          text,        }      }    }  }}

这将导致某些故事的获取,

id
text
现在已经知道了其ID。

想象一下,在将来的某个时间,变量

$showComments
变为
true
。中继将使用
node
根字段仅重新获取所需的数据。

query {  node(id: "ABC123") {     fragment on Story { comments(first: 10) { author, commentText } }  }  node(id: "DEF456") {     fragment on Story { comments(first: 10) { author, commentText } }  }  node(id: "GHI789") {     fragment on Story { comments(first: 10) { author, commentText } }  }  ...}

这取决于几部分:

  1. 每个对象必须具有全局唯一的ID,或由一个类型/ ID对标识(
    globalIdField
    帮助程序执行此操作并生成base64编码的字符串)。
  2. 服务器必须知道如何从全局唯一ID解析对象,反之亦然。这是
    nodeDefinitions
    为了什么。
  3. 希望使用此系统可重新提取的任何对象都必须实现
    nodeInterface

另请参阅:https : //facebook.github.io/relay/docs/graphql-
object-
identification.html#content



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/649713.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号