首页 > 解决方案 > react Native 中的动态 HTTP 标头

问题描述

我正在开发一个带有本机反应的应用程序。在应用程序中,出于安全原因,我们使用不记名令牌来调用 API。我已经设法使用静态标题内容调用 API。但是,我正在努力寻找一种方法来动态更新标题“授权”。我创建了一个实用程序类并从那里获取标题值。但我不明白如何动态设置授权密钥。我创建了以下方法:

Utility.headers = function() {
  return {
  "content-type": "application/x-www-form-urlencoded",
  "accept": "application/json",
  "api-token": "XXXXXXXXXXXXXXXXXXXXXXXXXX",
  "Authorization": "Bearer XXXXXXXXXXXXXXXXXXXXX"
  }
}

此方法将返回 API 标头。但我的授权值是动态的。而且我不知道如何使它动态化。请帮我解决一下这个。我是新来的反应原生

提前致谢。

标签: apireact-nativedynamichttp-headersreact-native-ios

解决方案


使用 AsyncStorage 存储您的授权标头。

await AsyncStorage.setItem('bearer', '...');

然后进入你的函数。

像这样:

    Utility.headers = async function () {
    const jwt = await AsyncStorage.getItem('bearer');

    return {
        "content-type": "application/x-www-form-urlencoded",
        "accept": "application/json",
        "api-token": "XXXXXXXXXXXXXXXXXXXXXXXXXX",
        "Authorization": "Bearer " + jwt
    }
}

您可以在此处阅读有关 AsyncStorage 的更多信息:https ://facebook.github.io/react-native/docs/asyncstorage.html


推荐阅读