1 回答

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊
解決方案是將 URL 存儲(chǔ)在組件的狀態(tài)中,而不是變量中:
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 方法可以找到它,而且可以在計(jì)算出 URL 后重新渲染輸出。
如果你使用 hooks,你會(huì)得到類似的東西:
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));
添加回答
舉報(bào)