报错:Uncaught TypeError: destroy is not a function at commitHookEffectListUnmount
如果你在useEffect函数中使用了async,运行后会出现该报错。

原理解析:

    要知道,useEffect 钩子函数的一个特性是清理功能,即return函数。如果你从 useEffect 钩子函数返回任何东西,它必须是一个清理函数,此函数将在组件卸载时运行。相当于类组件中的 componentWillUnmount 生命周期方法。

    在 JavaScript 中, async...await 会让程序在等待异步任务完成后才会继续执行。 异步函数也总是返回一个 Promise;如果函数还没有返回,则返回值会自动包装在 Promise 中。
那么我们要是这么写(错误示范),箭头函数直接指向就是返回值,就相当于是返回了一个promise函数了:

const myFunc = async()=>{...};
useEffect(()=>myFunc(),[])

正确写法,在用箭头函数时加个花括号,什么都不返回:

const myFunc = async()=>{...};
useEffect(()=>{ myFunc();
},[])

修改后程序可正常执行。

参考资料(英文文章):

  1. [ 作者 Aryan Mittal ]: https://medium.com/geekculture/react-uncaught-typeerror-destroy-is-not-a-function-192738a6e79b

  2. [作者 Nick Scialli ] :https://typeofnan.dev/fix-uncaught-typeerror-destroy-is-not-a-function-in-react/

参考资料,如果无法访问也不影响,总结在本文里了,希望能帮到您。

React报错修复:“Uncaught TypeError: destroy is not a function”相关推荐

  1. layui报错Uncaught TypeError: tree is not a function

    layui报错Uncaught TypeError: tree is not a function tree({ elem: "#classtree" , data: data , ...

  2. JS报错 Uncaught TypeError: undefined is not a function,解决

    Chrome调试报错:Uncaught TypeError: undefined is not a function,所有的数据都显示不出来 原因正如错误提示:调用了一个没有定义的方法,实际是一个空值 ...

  3. 【解决】控制台报错Uncaught TypeError: Object(...) is not a function at eval (vue-router.esm-bundler.js

    打开http://localhost:8080/,控制台报错 Uncaught TypeError: Object(...) is not a functionat eval (vue-router. ...

  4. Javascript 报错 Uncaught TypeError: x is not a function 常见错误总结

    这是我近期犯的比较傻的一个错误,一定要mark一下. 以下代码段是借用父类构造函数来实现继承的一种方法, 不过在ES6已经可以使用类了,这个作为了解对阅读以前的代码还是有好处的. 代码非常简单, 1 ...

  5. 小程序组件报错Uncaught TypeError: Cannot read property 'name' of undefined

    小程序组件报错Uncaught TypeError: Cannot read property 'name' of undefined Component({/*** 组件的属性列表*/propert ...

  6. js代码中for循环里绑定onclick事件报错Uncaught TypeError Cannot set properties of undefined (setting ‘className‘)

    jsfor循环里绑定onclick事件报错Uncaught TypeError Cannot set properties of undefined (setting 'className') 我想要 ...

  7. Vue3.x 报 Uncaught TypeError:Object(...) is not a function( Vue3对象不是函数解决思路)

    今天在vue3的练习时候发现我写的路由总是浏览器报错,仔细校验文档发现并没有错误啊,可总是报Uncaught TypeError:Object(...) is not a function的错误,看下 ...

  8. JsonMap对象的获取与前台浏览器报错Uncaught TypeError: Cannot read property ‘map‘ of undefined

    JsonMap对象的获取与前台浏览器报错Uncaught TypeError: Cannot read property 'map' of undefined 经过不断排查以后发现是自己的后台传的值出 ...

  9. 立即执行函数报错Uncaught TypeError: (intermediate value) is not a function.

    立即执行函数报错Uncaught TypeError: (intermediate value) is not a function. 文章目录 立即执行函数报错Uncaught TypeError: ...

最新文章

  1. IT专家经验教训分享: 我犯过的九件大错
  2. 以 vim 的方式来使用 chrome 浏览器(利用 vimium 插件)
  3. Java中弹出对话框的方法
  4. oracle远程物化视图
  5. 前端学习(1261):接口调用fetch方法
  6. HttpClient Get/Post方式调用Http接口
  7. Java FilterInputStream skip()方法与示例
  8. DR5白金版 for mac(PS一键磨皮插件Delicious Retouch)支持ps 2022
  9. 图表graph之增加曲线
  10. 史上规模最大的中文知识图谱以及估值两个亿的 AI 核心代码
  11. CXF webservice完整例子
  12. 易班学生安全上报系统脚本
  13. 计算机系统类型怎么改变,更改文件类型_win7电脑系统文件类型怎么更改?
  14. 常用邮箱SMTP、POP3域名及其端口号
  15. 试算平衡表示例图_试算平衡表的编制步骤是什么?
  16. message: Content type 'multipart/form-data;boundary=----WebKitFormBoundaryksbSBUwTCB6eHI3j;charse
  17. 供应链管理系统--(1)退供管理
  18. jmeter录制脚本,代理服务器拒绝连接怎么办?
  19. 晚上有空做什么副业?业余时间怎么赚钱?
  20. 只有300万预算,能在深圳买到什么样的二手房?分析20778套二手房

热门文章

  1. T4系列文章之1:认识T4
  2. css 文字背景波浪,背景水波浪,动态波浪效果
  3. Socket搭建即时通讯服务器
  4. android afw 权限,Android权限汇总
  5. linux usermod用法 -l,linux usermod命令参数及用法详解(linux修改用户账号信息命令
  6. 【网络】绘制基本网络图
  7. EDIUS中该如何保存默认特效
  8. ZSpace开发中PostProcess 导入
  9. 论文笔记:GAN Dissection: Visualizing and Understanding Generative Adversarial Networks
  10. 计算机教师个人业绩成果自述,个人简历个人自述