报错: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. linux命令find命令详解
  2. Java基础- super 和 this 解析
  3. 【无码专区11】异或2(结论 / 推式子 + 哈希hash + 大整数高精度 加减乘除重载考察)
  4. 废弃P-value,还是学学如何评估统计检验结果?
  5. iOS: 为画板App增加 Undo/Redo(撤销/重做)操作
  6. Python编程中报过的错
  7. 区块链开源框架 HyperLedger Fabric 学习思路分享
  8. Ubuntu18.04安装Mujoco、mujoco_py
  9. 单片机课程设计题目及要求——电风扇模拟控制系统(仿真图加代码加原理图都有)
  10. 国内各大企业邮箱,选择看重哪几个方面?
  11. GIS案例学习笔记-多边形内部缓冲区地理模型
  12. 我用数据分析,揭开了中国男篮最后的遮羞布
  13. 帮你分清嵌入式与单片机
  14. MATLAB对一子数组赋值
  15. Matlab直方图显示y值
  16. 数据库勒索病毒故障处理
  17. Excel+VBA+之快速上手
  18. Preference的用法
  19. Arcgis For Android 加载天地图(拥有缓存功能)
  20. android 汽车转向辅助线,Android开发 - 掌握ConstraintLayout(七)辅助线(Guideline)

热门文章

  1. JAVA点餐系统设计计算机毕业设计Mybatis+系统+数据库+调试部署
  2. css 文字背景波浪,背景水波浪,动态波浪效果
  3. 在python内置集成开发环境中可使用快捷键什么_2020知道智慧树普通话训练与测试题库及答案...
  4. 网络安全工程师可以考取哪些有价值的证书?
  5. 网络安全工程师前景如何?
  6. Redesign Your App for iOS 7 之 页面布局
  7. 参加百度轻应用编程马拉松总结
  8. git jenkins 子目录_持续集成高级篇之Jenkins Pipeline git拉取
  9. 创业公司想获取采访,找这四家科技媒体就够了
  10. 反手套一波回文树模板加例题就很舒服