P粉6857572392023-08-11 12:31:09
在你的useEffect
中,你没有调用fetchImage
,而是在返回它。
将
useEffect(()=>fetchImage, [])
修改为
useEffect(()=>fetchImage(), [])
或者直接
useEffect(fetchImage, [])
之所以在本地环境下能够运行,原因有点有趣。当你在useEffect
钩子函数中返回一个函数时,它将在组件的销毁阶段使用,这意味着当React卸载组件时会调用该函数。在开发模式下,React在挂载组件后会卸载和重新挂载组件,从而调用fetchImage
- 你的销毁函数。而在生成环境中不会这样做。