android - url 未显示 android React Native
问题描述
我在我的 React Native 项目中使用<Image>
and <ImageBackground>
with 。source:{{ uri: url }}
但问题是模拟器内没有显示图像Android
(但IOS
模拟器很好)
这是我的组件
import React from 'react'
import {
Text, StyleSheet, ImageBackground, Image,
} from 'react-native'
import { Header } from 'react-navigation'
import { dimens } from '../../../services/variables'
const CustomHeader = ({ bgSrc }) => (
<ImageBackground
source={
bgSrc
? { uri: bgSrc }
: require('../../../assets/images/placeholder_image_bg_wide.png')
}
style={styles.header}
>
<Text style={styles.description}>First element</Text>
<Image source={{ uri: 'https://i.vimeocdn.com/portrait/58832_300x300.jpg' }} style={{ width: 200, height: 45, backgroundColor: 'red' }} />
<Text style={styles.description}>Second element</Text>
<Image source={{ uri: 'http://i.vimeocdn.com/portrait/58832_300x300.jpg' }} style={{ width: 200, height: 45 }} />
<Text style={styles.title}>Last element 1</Text>
</ImageBackground>
)
export default CustomHeader
const styles = StyleSheet.create({
header: {
minHeight: Header.HEIGHT,
height: dimens.header.height,
marginTop: dimens.header.marginTop,
paddingLeft: dimens.header.paddingLeft,
paddingBottom: dimens.header.paddingBottom,
backgroundColor: 'blue',
flexDirection: 'column-reverse',
},
title: {
...dimens.header.title,
},
description: {
...dimens.header.description,
},
})
我也已经在里面添加了权限AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
您会看到IOS
模拟器<Image>
上显示正确,但没有Android
显示图像(两者http
和https
)
那么我该如何解决这些问题并让 Android 模拟器正常工作,谢谢!
解决方案
我之前在另一个问题
https://stackoverflow.com/a/71263771/8826164中说过这一点,
但是 Image 组件存在一个问题是,如果第一次用source={{uri : 'some link'}}
它初始化组件可能不起作用(至少当我从 Firebase 存储中的 HTTPS URL 获取图像)。诀窍是您必须触发对 source 道具的更改,例如首先需要将 source 保留为source={undefined}
然后更改为source={{uri : 'some link'}}
. 而且您似乎有硬编码的 URL uri
,因此您可能会遇到与我相同的问题
推荐阅读
- python - PMU RAW文件的IEEE C37.118 python解析器
- javascript - 如何防止 ECMAScript 模块改变全局对象?
- javascript - 使用jquery根据标签html更改单选按钮选中属性
- python - 为什么我不能使用 np.isnan 过滤数据框?
- javascript - javascript 通过窗口使函数全局可用
- python - 如何编写 Python 程序以在现有数组的第二个元素之前插入新项目
- javascript - 防止函数被调用
- json - 关于 json 的“jq”工具的新手问题 - 如何为此创建查询?
- html - 如何在 Gatsby 中将 markdown frontmatter 显示为 HTML
- ios - 在将 Xamarin iOS 提交到 Apple AppStoreConnect TestFlight 时获取“ITMS-90338:非公共 API 使用”和“ITMS-90809:已弃用的 API 使用”