ReactNative如何在应用程序更新后重新加载常量

时间:2019-01-31 05:05:19

标签: react-native constants

我有一个使用某些常量的ReactNative应用,

export const BEARER_TOKEN = 'eyJhbGciOiJIU***'

在我需要更新令牌之前,该应用程序运行良好,因此需要使用由appcenter分发的新版本,

  

如果我只是更新应用程序,它将保留旧令牌

但是

  

如果我删除并安装新版本,则会使用新令牌

那么,如何确保新令牌已加载?例如,如果应用程序开始重新加载常量?

谢谢。

2 个答案:

答案 0 :(得分:1)

您不能用这种方法。这是javascript的本质,它会在最初加载所有内容,即使您通过将变量放入对象来更改它也是如此。这是一个坏习惯。

更好的方法是使用redux或上下文api

我看到您可能要使用BEARER_TOKEN进行用户身份验证。 因此,您可以在redux中拥有一个状态authUser,它将跟踪整个应用程序中的令牌。如果您希望用户authToken中的任何更改注销,则此方法非常有用。

https://redux.js.org/

对于简单版本,您可以在react中使用context api

现在是第三个选项,如果您真的很想不想使用这些方法。 您可以只使用window.token = 'sdfasdf'; 然后只要您要更改它,只需使用其他文件中的window.token = 'soemthing else'

答案 1 :(得分:1)

我建议使用AsyncstorageRedux状态来维护您的Bearer_Token。

例如,假设使用Facebook应用程序。 您是第一次登录。捕获并存储您的Bearer_token到Asyncstorage中,并保持在redux状态。

下次关闭应用程序并再次打开时。从异步存储加载Bearer_Token。

您的Bearer_Token将被动态设置。