React报错修复:“Uncaught TypeError: destroy is not a function”
报错: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();
},[])
修改后程序可正常执行。
参考资料(英文文章):
[ 作者 Aryan Mittal ]: https://medium.com/geekculture/react-uncaught-typeerror-destroy-is-not-a-function-192738a6e79b
[作者 Nick Scialli ] :https://typeofnan.dev/fix-uncaught-typeerror-destroy-is-not-a-function-in-react/
参考资料,如果无法访问也不影响,总结在本文里了,希望能帮到您。
React报错修复:“Uncaught TypeError: destroy is not a function”相关推荐
- layui报错Uncaught TypeError: tree is not a function
layui报错Uncaught TypeError: tree is not a function tree({ elem: "#classtree" , data: data , ...
- JS报错 Uncaught TypeError: undefined is not a function,解决
Chrome调试报错:Uncaught TypeError: undefined is not a function,所有的数据都显示不出来 原因正如错误提示:调用了一个没有定义的方法,实际是一个空值 ...
- 【解决】控制台报错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. ...
- Javascript 报错 Uncaught TypeError: x is not a function 常见错误总结
这是我近期犯的比较傻的一个错误,一定要mark一下. 以下代码段是借用父类构造函数来实现继承的一种方法, 不过在ES6已经可以使用类了,这个作为了解对阅读以前的代码还是有好处的. 代码非常简单, 1 ...
- 小程序组件报错Uncaught TypeError: Cannot read property 'name' of undefined
小程序组件报错Uncaught TypeError: Cannot read property 'name' of undefined Component({/*** 组件的属性列表*/propert ...
- js代码中for循环里绑定onclick事件报错Uncaught TypeError Cannot set properties of undefined (setting ‘className‘)
jsfor循环里绑定onclick事件报错Uncaught TypeError Cannot set properties of undefined (setting 'className') 我想要 ...
- Vue3.x 报 Uncaught TypeError:Object(...) is not a function( Vue3对象不是函数解决思路)
今天在vue3的练习时候发现我写的路由总是浏览器报错,仔细校验文档发现并没有错误啊,可总是报Uncaught TypeError:Object(...) is not a function的错误,看下 ...
- JsonMap对象的获取与前台浏览器报错Uncaught TypeError: Cannot read property ‘map‘ of undefined
JsonMap对象的获取与前台浏览器报错Uncaught TypeError: Cannot read property 'map' of undefined 经过不断排查以后发现是自己的后台传的值出 ...
- 立即执行函数报错Uncaught TypeError: (intermediate value) is not a function.
立即执行函数报错Uncaught TypeError: (intermediate value) is not a function. 文章目录 立即执行函数报错Uncaught TypeError: ...
最新文章
- linux命令find命令详解
- Java基础- super 和 this 解析
- 【无码专区11】异或2(结论 / 推式子 + 哈希hash + 大整数高精度 加减乘除重载考察)
- 废弃P-value,还是学学如何评估统计检验结果?
- iOS: 为画板App增加 Undo/Redo(撤销/重做)操作
- Python编程中报过的错
- 区块链开源框架 HyperLedger Fabric 学习思路分享
- Ubuntu18.04安装Mujoco、mujoco_py
- 单片机课程设计题目及要求——电风扇模拟控制系统(仿真图加代码加原理图都有)
- 国内各大企业邮箱,选择看重哪几个方面?
- GIS案例学习笔记-多边形内部缓冲区地理模型
- 我用数据分析,揭开了中国男篮最后的遮羞布
- 帮你分清嵌入式与单片机
- MATLAB对一子数组赋值
- Matlab直方图显示y值
- 数据库勒索病毒故障处理
- Excel+VBA+之快速上手
- Preference的用法
- Arcgis For Android 加载天地图(拥有缓存功能)
- android 汽车转向辅助线,Android开发 - 掌握ConstraintLayout(七)辅助线(Guideline)
热门文章
- JAVA点餐系统设计计算机毕业设计Mybatis+系统+数据库+调试部署
- css 文字背景波浪,背景水波浪,动态波浪效果
- 在python内置集成开发环境中可使用快捷键什么_2020知道智慧树普通话训练与测试题库及答案...
- 网络安全工程师可以考取哪些有价值的证书?
- 网络安全工程师前景如何?
- Redesign Your App for iOS 7 之 页面布局
- 参加百度轻应用编程马拉松总结
- git jenkins 子目录_持续集成高级篇之Jenkins Pipeline git拉取
- 创业公司想获取采访,找这四家科技媒体就够了
- 反手套一波回文树模板加例题就很舒服