reactjs - componentWillUnmount 内的 react-native console.log
问题描述
一个非常简单的应用程序中的根组件......放入的任何调试代码componentWillUnmount
都不会显示在调试器窗口中
const App = () => {
useEffect(
() => () => {
console.log('Will unmount - cleanup...'); // not logged
},
[]
);
};
为什么?以及如何调试该清理代码...
解决方案
正确的语法是:
useEffect(() => {
// Logic to run on mounting and update
return () = {
// Clean up code
console.log('------'); // this will log every time when component unmounts
}
}, [dependency array]);
[]
是依赖数组,如果空白useEffect()
仅在挂载时运行,并且每次都会执行其清理功能。如果数组中有一些值,那么只要该值发生变化,useEffect()
就会再次执行。
推荐阅读
- vba - 检查前端和后端 Access 数据库之间的有效连接
- c# - 在 Azure 函数 V2 上注册 3rd 方 DI 框架(Lamar/Autofac)的正确方法
- java - Stripe 通过 API 接受付款
- javascript - 如何编写 router.navigate 方法以从 angular6 中的子模块导航到父模块
- reactjs - ra-data-graphql-simple 找不到资源
- arrays - jinja2 遍历字典并获取多个数组的值
- c# - 如何生成从 0 到给定上限的正态分布的随机正浮点数?
- python - 在 Python 中模拟两个耦合的动力系统
- azure - Azure Data Lake Storage Gen2 访问令牌生成 - “AADSTS65001:用户或管理员未同意使用 ID 的应用程序
- node.js - 遇到错误:尝试通过 lambda 函数连接到 aws aurora postgresql 时出现 getaddrinfo EAI_AGAIN