reactjs - React Native:使用通过状态变量提供的 uri 渲染图像组件
问题描述
这里是 React Native 学习者。我正在尝试呈现如下所示的功能组件。我正在通过 Firebase 获取 URI,该 URI 在 1-2 秒的时间延迟后获取。获取后,我更新我的状态变量。
import storage from '@react-native-firebase/storage';
const SearchResultCard = ()=>{
const [imageURL, setImageURL] = useState('https://www.publicdomainpictures.net/pictures/200000/nahled/plain-red-background.jpg'); // Some placeholder image.
var storageRef = storage().ref();
storageRef.child("photos/flower.jpg").getDownloadURL().then((url)=>{console.log(url); setImageURL(url);}); // setting the valid image URL
setTimeout(()=> console.log("++++URL fetched: ", imageURL), 2000); // prints a correct URL after 2 seconds.
return (
<View>
<Image style={styles.SearchResultImage}
source={{
uri:
{imageURL},
}}
/>
</View>
);
}
....
....rendering the SearchResultCard Component
....
但是在设备中,它显示错误:
我确认,在明显的时间延迟后获取 URL 是成功的。我的困惑是,我如何Image
通过状态变量提供 source.uri ?提供硬编码的 url 可以正常工作。
解决方案
该uri
属性接受字符串 url,并且您将 url 作为对象传递。请按以下方式传递字符串uri
:
<Image
style={styles.SearchResultImage}
source={{
uri: imageURL, // remove braces
}}
/>
推荐阅读
- c - 如何逐行扫描带有字符串的文件并将它们存储到链表ADT中?
- c++ - 打包成员的引用地址不等于打包成员的地址?
- java - UnsatisfiedDependencyException:创建名称为“studentConrtroller”的 bean 时出错:通过字段“studentserv”表示不满足的依赖关系;
- scala - 胶水开发端点 - NoSuchMethodError:com.google.common.base.Stopwatch.createStarted()Lcom/google/common/base/Stopwatch
- sql - 导出 CSV 时,标题未填充到 SSRS 报告中
- git - git 在结帐时创建二进制文件
- express - 将 cookie 从子域设置到根域和所有子域
- php - 卷曲错误:14094410:SSL 例程:ssl3_read_bytes:sslv3 警报握手失败
- android - Exoplayer Android - 在播放另一个 MP3 时开始下载渐进式 MP3
- c# - Web api背后的应用程序/业务逻辑和UI中的验证错误?