Reputation: 89
I want to see the link to my image in the imageUrl
variable.
When I log sampleImage
, I see JSON-like data and I can see a link in this data's i section.
But when I log imageUrl
, it returns 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>
);
}
}
Upvotes: 1
Views: 2250
Reputation: 7324
Getting an image is a network request so it takes a little while. If you want to log the image (and you don't use async/await) then you have to do it inside the .then()
const sampleImage = imageRef.getDownloadURL().then(result => console.log(result));
Rather than doing all of this in the render method, do it when the component mounts and store the URL in state. That way you can just reference the state object in your render method.
Upvotes: 2