如何在Redux商店中存储登录凭据?

时间:2017-02-24 14:08:30

标签: react-native redux

我正在搞清楚数据流,并编写面向行动的代码来处理Redux。

这是流程: 我到达SplashScreen并检查是否存在accessToken。如果不是,我将用户发送到LoginScreen。另外,我把他带到HomeScreen。

流程相当简单,但我无法解决如何存储令牌,使令牌过期或只是检查用户是否已登录。因此,从技术上讲,当用户登录时,状态(访问令牌)应该改变。我不是要求代码,只是一些伪代码和一些解释会有所帮助!

2 个答案:

答案 0 :(得分:0)

如果您想使用redux存储来保存令牌或任何用户凭据,您需要确保将状态保存在localStorage上,为此您可以使用redux中间件like thisthis ,或者您可以使用自己的中间件:

export default store => next => action => {
  let result = next(action)
  localStorage.state = JSON.stringify(store.getState())
  return result
}

我不知道你是否正在使用反应路由器,如果你是,请看一下这个例子:authenticator我认为这是最好的方法.. < / p>

答案 1 :(得分:0)

在我的应用中,我使用了react-native-keychain。当用户登录时,我将accessToken存储在redux存储中。从那里,每当我提出请求时,我只是从商店获取令牌,确保它有效,并提出请求。