1 回答
TA贡献1820条经验 获得超10个赞
解决方案是将 URL 存储在组件的状态中,而不是变量中:
let imageRef = firebase.storage().ref('users/' + firebase.auth().currentUser.uid + '/' + 'userImage');
imageRef
.getDownloadURL()
.then((url) => {
setState({ url: url });
})
.catch((e) => console.log('getting downloadURL of image error => ', e));
这不仅可以确保 render 方法可以找到它,而且可以在计算出 URL 后重新渲染输出。
如果你使用 hooks,你会得到类似的东西:
const [url, setUrl] = useState();
let imageRef = firebase.storage().ref('users/' + firebase.auth().currentUser.uid + '/' + 'userImage');
imageRef
.getDownloadURL()
.then((url) => {
setUrl(url);
})
.catch((e) => console.log('getting downloadURL of image error => ', e));
添加回答
举报