如何更新查看器等根节点?

时间:2015-11-12 18:47:09

标签: reactjs graphql relayjs

当用户使用viewer登录时,我正在尝试更新根节点的UpdateUserSessionMutation字段。但是,由于查看器以null开头并且最初没有id,因此我无法使用FIELDS_CHANGE使用MutaitonPayload更新查看器字段。

1 个答案:

答案 0 :(得分:0)

当您想要更新存储在数据库中的数据时,会使用突变。用户登录不会更改任何数据库数据,因此突变不是正确的方法。

viewer用于表示当前登录的用户。跟踪它的常见做法是授权令牌。当用户登录时(通常在GraphQL之外完成),您将在每个请求中包含其令牌。在服务器上,您可以查看该令牌,并将当前用户设置为该请求的根viewer节点 ,您可以使用rootValue执行此操作。