我想在imageUrl
变量中看到指向我的图像的链接。
登录sampleImage
时,会看到类似JSON的数据,并且可以在此数据的i部分中看到一个链接。
但是,当我登录imageUrl
时,它将返回undefined
。
render() {
const uid = '12345';
const imageRef = firebase.storage().ref(uid).child(uid);
const sampleImage = imageRef.getDownloadURL().then();
const imageUrl = sampleImage.i;
console.log(sampleImage);
console.log(imageUrl);
return (
<View>
<Image style={{ width: 55, height: 55 }} source={{ uri: null }} />
</View>
);
}
}
最佳答案
获取图像是网络请求,因此需要一些时间。如果要记录图像(并且不使用异步/等待),则必须在.then()内部进行记录
const sampleImage = imageRef.getDownloadURL().then(result => console.log(result));
而不是在render方法中执行所有这些操作,而是在组件安装并以状态存储URL时执行此操作。这样,您就可以在render方法中引用状态对象。