使用apollo进行身份验证后缓存用户

时间:2018-06-12 04:42:01

标签: reactjs graphql apollo react-apollo

我对react-apollo很新,但不知道如何解决这个问题。我正在验证具有变异的用户,但是想要访问同一个用户对象,再次在其他组件中返回(实时导航栏,渲染按钮选项或登录后的配置文件按钮)。我应该只在每次需要时获取当前登录用户吗?即。

query GetUser {
 id
 name
 role {
  name 
 }
 dob
}

在每个需要它的组件的末尾附加它?我不确定最好的方法是在登录一次之后再缓存它还是这样。即使那时你如何专门缓存它?我知道它继承它也会缓存它,所以它不像我在获取中有冗余,但我可能在代码中。你们采取了哪些方法。

1 个答案:

答案 0 :(得分:1)

在反应应用程序中保存用户数据以进行身份​​验证时,您必须将用户数据保存在local storage等存储空间中,并存储到应用程序的全局状态,例如reduxmobx以从遍布整个申请。

我建议您使用redux

注意:

每次启动应用程序时,您都必须再次将数据从存储器存储到全局状态。

你也可以使用apollo-cache-persist,但我没有尝试过这个!