Reactjs React中继将根查询更新为fat查询的一部分
我正在尝试使用GraphQL和React-Relay构建一个应用程序 作为其中的一部分,我使用以下规范创建了一个根查询:Reactjs React中继将根查询更新为fat查询的一部分,reactjs,graphql,relayjs,graphql-js,Reactjs,Graphql,Relayjs,Graphql Js,我正在尝试使用GraphQL和React-Relay构建一个应用程序 作为其中的一部分,我使用以下规范创建了一个根查询: query { AllServices { edges { node { id } } } } 因此,我创建了一个变种,称为CreateGithubService,效果很好 以下是中继突变的一个片段: getFatQuery() { return Relay.QL` fragment
query {
AllServices {
edges {
node {
id
}
}
}
}
因此,我创建了一个变种,称为CreateGithubService,效果很好
以下是中继突变的一个片段:
getFatQuery() {
return Relay.QL`
fragment on CreateGithubServicePayload {
createdService
}
`
}
getConfigs() {
return [{
type: "REQUIRED_CHILDREN",
children: [
Relay.QL`
fragment on CreateGithubServicePayload {
createdService {
id
}
}
`
]
}]
}
我的问题是,这不会导致依赖信息的视图更新
我的AllServices查询未重新蚀刻,无法在Fat查询中指定它
如何设置我的变体以将元素添加到“所有服务”查询中
谢谢
必需\u子项
不会更新本地图形;它严格用于获取额外的数据,这些数据仅用于突变更新的成功回调。事实上,它在源代码之外甚至没有文档记录,所以我不确定您是如何决定这样使用它的
虽然您没有这样说,但我假设您希望将此新节点(createdService
)添加到AllServices
连接中?如果是这样,您需要告诉继电器您的突变会影响该连接:
AllServices
连接的父节点(通常的惯例是viewer
)。换句话说,让它像这样工作:query{viewer{AllServices{…}}}
AllServices
连接的方法。将viewer
节点添加到模式后,您可以在变异负载中返回该节点,并更改fat查询以指定连接已更改,例如:CreateGithBubServicePayload上的片段{viewer{AllServices}
FIELDS\u CHANGE
配置您的变体,并指定类似{viewer:this.props.viewer.id}