亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

調用 Firestore 存儲導致應用程序停止

調用 Firestore 存儲導致應用程序停止

小唯快跑啊 2023-12-14 14:24:06
我認為在我的代碼中我以某種方式循環遍歷圖像,但我的 console.log 確實很瘋狂。我每個文件夾里只有 3 張圖片。一個打來電話back,另一個打來電話front。我怎樣才能讓它顯示所有圖像而不導致應用程序緩慢停止。同樣,每個文件夾中只有 3 張圖像。為了簡潔起見,我只發布其中之一。   const [frontImage, setFrontImage] = useState();    const getFrontImage = async () => {        var user = firebase.auth().currentUser.email;// like this right here gets put out almost 50 times        console.log(user + "this is name");        const imageRefs = await firebase.storage().ref().child(user + '/FrontPic/').listAll();        const urls = await Promise.all(imageRefs.items.map((ref) => ref.getDownloadURL()));        setFrontImage(urls);    }    useEffect(() => {        getFrontImage();    });稍后在此處調用圖像              <View style={styles.DisplayImageWith}>                     {frontImage && frontImage.map(url => (                    <View style={{ justifyContent: 'center' }} key={url}>                        <Image source={{ uri: url }} style={{ width: 150, height: 150 }} />                    </View>                    ))}                </View>
查看完整描述

2 回答

?
子衿沉夜

TA貢獻1828條經驗 獲得超3個贊

每次setFrontImage調用getFrontImage都會導致另一個紅色,從而導致無限循環。

如果您只想運行getFrontImage 一次,請將空數組傳遞給 useEffect,如下所示:useEffect(cb, [])


查看完整回答
反對 回復 2023-12-14
?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

將依賴項數組添加到鉤子中useEffect,其中應包含 function getFrontImage,因此將其包裝在useCallback鉤子中。您還可以使用空的依賴項數組[]



查看完整回答
反對 回復 2023-12-14
  • 2 回答
  • 0 關注
  • 163 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號