首页 > 解决方案 > ReactNative如何在应用程序更新后重新加载常量

问题描述

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

export const BEARER_TOKEN = 'eyJhbGciOiJIU***'

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

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

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

那么,我怎样才能确保新令牌被加载呢?就像应用程序开始重新加载常量一样?

谢谢。

标签: react-nativeconstants

解决方案


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

更好的方法是使用 redux 或 context api,

我看到您可能想使用 BEARER_TOKEN 进行用户身份验证。所以你可以authUser在你的 redux 中拥有一个状态,它会在你的整个应用程序中跟踪令牌。当您希望用户在authToken.

https://redux.js.org/

对于一个简单的版本,您可以使用context apifrom react。

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


推荐阅读