You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

按规范编写useEffect仍触发异步返回警告,代码是否存在问题?

问题分析与解决

你的代码写法本身符合React规范,按道理不会触发这个警告。但既然收到提示,大概率是以下某一处细节出错了:

  • 误将useEffect的回调声明为async函数
    如果你实际代码里写成了这样,async函数会默认返回Promise,违反了useEffect只能返回清理函数或undefined的要求:

    useEffect(async () => { // 这里的async是问题根源
        async function fetchData() {
            // ...你的逻辑
        }
        fetchData()
    }, [user])
    
  • 不小心返回了异步函数的调用结果
    如果在useEffect里return了fetchData(),而async函数调用会返回Promise,同样会触发警告:

    useEffect(() => {
        async function fetchData() {
            // ...你的逻辑
        }
        return fetchData() // 这里return Promise导致警告
    }, [user])
    
  • 编辑器或缓存问题
    有时候编辑器的ESLint缓存会误报,尝试重启编辑器或者清除项目的ESLint缓存,再重新检查代码。

如果以上情况都排除,那可以确认是工具的误报,你的代码逻辑本身没有问题。

内容的提问来源于stack exchange,提问作者Bruno Nobre

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 11:12:42