2

作为我的 webapp 身份验证流程的一部分,我设法在我的 Graph.cool 后端创建了一个用户,现在需要登录(这是一个两步过程,如此所述)。这使用了我在这里signinUser成功设置的突变。但是,我无法弄清楚如何配置突变的/ ,以便查看器用户数据将在中继存储中正确更新并传播。例如,页眉 ( ) 不会自动更新,但如果我重新加载页面,则会显示正确的信息。getFatQuery()getConfigs()ViewerWidget

4

1 回答 1

2

Relay 跟踪正在(或曾经)渲染的组件的所有数据需求。发送突变时,它还会查询所有可能更改的数据(通过 FatQuery 给出)并进行跟踪。换句话说,如果您的突变的 FatQuery 包含 Relay 尚未跟踪的节点/字段,它们将不会包含在突变的查询中(因为需要该数据的组件只会在第一次渲染时简单地请求它时间)。 REQUIRED_CHILDREN强制突变查询某些字段,即使它们没有被跟踪。对于需要在 Relay 之外处理数据的情况,它实际上只是一个逃生口。Relay 和refReact 一样。

graphcool API 为您提供了一个带有 ID 的查看器根字段。字段用户应该可以有一个FIELDS_CHANGE突变(带有查看者 ID)。

于 2016-10-26T11:25:58.050 回答