react-native开发app时,用户登录状态如何保存?

开发app时,前端用户登录成功后,用户的登录状态是保存成state还是保存成一个cookie到客户端?

react中有两个主要的东西,一个是state,用来控制是否重新渲染render,另一个是props,用来传递数据来的,而react-nation主要是以react为基础的。对于数据传递过程中数据传递肯定是一些url,再加上token之类的。这样登录成功后,使用state或者props的保存用户状态值,virtual-dom 需要render一次,render的过程中(从state或者props)判断登录状态,如果登录过,则显示会员中心的页面(DOM),如果未登录过则显示登录页面(DOM)。
这里的疑问是想知道现在使用state保存状态还是props保存状态???

阅读 22.7k
6 个回答

react-native是支持cookie的,所以用cookie来存sessionid会比较方便。

这样后端rest服务也不用特殊处理。

登录成功后服务端生成并发送一个sessionid给客户端,在sessionid有效期内,客户端用这个id作为参数去发起请求,与服务端匹匹配则下发数据。id过期判定为登录失效。需要重新登录(重新发起登录申请会刷新sessionid,也可以做为单一客户端登陆判定)。

保存成什么看你和服务端怎么约定的,登录状态其实就是用户身份的唯一标示,只要保证服务端能唯一确定一个用户,并且不会被找出规律就是可行的。

有这么个库react-native-cookies

我还没用过,以下我的猜测:

1、底层是调客户端的原生cookie功能?

2、cookie是会写文件保存到机器上么?这样客户端进程杀掉了,下次启动时也能拿到cookie维持登录状态?

不知道我说的对不对,哪位用过可以说明下。

新手上路,请多包涵

开发APP的话使用token

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏