react-native - ReactNative如何在应用程序更新后重新加载常量
问题描述
我有一个使用一些常量的 ReactNative 应用程序,
export const BEARER_TOKEN = 'eyJhbGciOiJIU***'
该应用程序运行良好,直到我需要更新令牌,因此使用 appcenter 分发的新版本,
如果我只是更新应用程序,它会保留旧令牌
但
如果我删除并安装新版本,则使用新令牌
那么,我怎样才能确保新令牌被加载呢?就像应用程序开始重新加载常量一样?
谢谢。
解决方案
你不能,用这种方法。这是 javascript 的本质,它最初会加载所有内容,即使您通过将变量放入对象中来更改它也是如此。这是一种不好的做法。
更好的方法是使用 redux 或 context api,
我看到您可能想使用 BEARER_TOKEN 进行用户身份验证。所以你可以authUser
在你的 redux 中拥有一个状态,它会在你的整个应用程序中跟踪令牌。当您希望用户在authToken
.
对于一个简单的版本,您可以使用context api
from react。
现在是第三种选择,如果你真的真的不想使用这些方法。你可以使用window.token = 'sdfasdf'
; 然后每当您想更改它时,只需window.token = 'soemthing else'
从其他文件中使用。
推荐阅读
- android - android产生垃圾结果的Tensorflow推断
- c++ - 类中的 C++ 数组变量在实现文件的一个函数中导致“未在此范围内声明”错误,但在构造函数中没有
- javascript - antd 模态打开和关闭问题
- javascript - Highcharts - 多系列圆环图上的动态数据标签定位
- php - 如何在php中只打印新的数组值
- swift - 使用 NSPersistentCloudKitContainer 的可选核心数据关系问题
- protocol-buffers - 对 gRPC 消息建模的最佳方法
- ruby-on-rails - Rail6 db:migrate 失败 - 参数数量错误(给定 1,预期 0)
- sql - 为什么 select with subselect 在条件下不返回任何行的速度要慢得多?
- spring - 在spring boot中使用pageable获取和删除对象