reactjs - 反应原生图像组件得到 401,即使它已被授权
问题描述
我在尝试从我的 API 获取图像时遇到了一个非常奇怪的问题(Express with Passport using JWT strategy)。我试图加载图像的组件是这样的:
function ImagePreview(props) {
const imageId = props.imageId;
const [token, setToken] = useState(null);
useEffect(() => {
SecureStore.getItemAsync('accessToken').then(jwt => {
setToken(JSON.parse(jwt));
});
},[]);
return(
<View>
{ !token ? <Text>Loading...</Text> : (
<Image
style={styles.imagePreview}
source={{
uri: config.apiURI + "/media/" + imageId,
headers: { authorization: token }}
}
/>
)}
</View>
)
}
但是,当我运行应用程序时,我的 API 上出现 401 错误,表明我无权使用该资源。您可能会认为这可能是因为我的令牌设置不正确,但即使我将有效令牌硬编码到 auth 标头中,我也会遇到同样的问题。另一个奇怪的事情是,我实际上有时会让它工作,但它(似乎)随机停止工作。当我使用 Postman 发出获取请求时,我从来没有遇到过这个问题。
解决方案
推荐阅读
- scala - 在带有管道估计器的 CrossValidator 中。数据如何通过管道?
- java - Eclipse WindowBuilder 设计选项卡为空?
- php - 如何从 PHP 中的链接传递变量?
- gnuplot - Gnuplot XRD 图,连接点
- c# - GroupBy linq 方法的默认组
- ios - CBPeripheralManagerState 在 iOS 10+ 中已弃用。什么是替代方案?
- java - 用户输入陷入循环
- c - 在 C 中将 int 转换为 char 时 strlen 的奇怪输出
- c# - UpoadOperationProgress 立即返回 bytessent = bytestosend
- c++ - 函数自动循环?