P粉6857572392023-08-11 12:31:09
在你的useEffect
中,你沒有呼叫fetchImage
,而是在回它。
將
useEffect(()=>fetchImage, [])
修改為
useEffect(()=>fetchImage(), [])
或直接
useEffect(fetchImage, [])
之所以在本地環境下能夠運行,原因有點有趣。當你在useEffect
鉤子函數中傳回一個函數時,它將在元件的銷毀階段使用,這表示當React卸載元件時會呼叫該函數。在開發模式下,React在掛載元件後會卸載和重新掛載元件,從而呼叫fetchImage
- 你的銷毀函數。而在生成環境中不會這麼做。