当用户使用viewer
登录时,我正在尝试更新根节点的UpdateUserSessionMutation
字段。但是,由于查看器以null开头并且最初没有id,因此我无法使用FIELDS_CHANGE
使用MutaitonPayload更新查看器字段。
答案 0 :(得分:0)
当您想要更新存储在数据库中的数据时,会使用突变。用户登录不会更改任何数据库数据,因此突变不是正确的方法。
viewer
用于表示当前登录的用户。跟踪它的常见做法是授权令牌。当用户登录时(通常在GraphQL之外完成),您将在每个请求中包含其令牌。在服务器上,您可以查看该令牌,并将当前用户设置为该请求的根viewer
节点 ,您可以使用rootValue
执行此操作。