我有一个 react native 应用程序,连接到OAuth2后端.我正在使用Axios连接到API,并且我有一个请求和响应拦截器,它可以处理当访问令牌用完时,它将使用刷新令牌获取新的访问令牌,同时将任何其他异步请求排队,直到我们有新的令牌.

所有这些都很有效,但现在我有受保护的形象资源可供服务,我不确定如何处理它.

使用Reaction Native Image组件,我们可以非常轻松地传入标头:

<Image source={{
    headers: {Authorization: 'Bearer ' + authToken }, 
    uri: uri
}}></Image>

是的,我可以毫无问题地显示受保护的图像,但我需要找到一种方法来实现与使用Axios客户端相同的令牌刷新功能.

是否可以使用Reaction Native Image组件,如401回调函数,或者有没有库可以用于此目的?

事先感谢您的任何帮助或建议.????

推荐答案

使用onError可触发令牌刷新.

<Image
  headers: {Authorization: 'Bearer ' + authToken }, 
  uri: uri
  onError={(error) => { /*TODO*/ }}
/>

React-native相关问答推荐

复制__自持props

为什么当我更换屏幕时playground 音乐不会停止?

哪个版本的@stripe/stripe-react-native 模块支持 react native 0.62.0 typscript 模板?

React Native:如何以编程方式对图像进行黑白过滤?

在 React Native 中打开后日期 Select 器不关闭

我如何限制 FlatList 中的元素并增加负载?

如何在 react native 中以 redux 形式设置隐藏字段?

React-Native 是单线程执行还是多线程执行?

如何在StackNavigator 中实现自定义标题图标?

React Native 转换与枢轴点

ReactNative 0.43-rc.2 FlatList -- 试图获取超出范围索引 0 的框架

运行react应用程序时出错

TouchableHighlight onPress 不起作用

null 不是对象(判断 this.state.count)

如果我有 AngularJS 基础知识,怎么学习Thinking in ReactJS呢?

如何使用特定目标运行 react-native run-ios

React Native Bullet Character? or Unicode?

仅链接字体的方法

在 componentWillUnmount 中清除超时的更好方法

如何在 react-native 中将文本复制到剪贴板?