关于在微信小程序中使用taro + react-hook后销毁函数无法执行的问题

问题:

在 taro中使用navigageTo() 跳转路由后hook中useEffect 的return函数没有执行

没有执行return函数

框架版本: tarojs: 3.6

react: 18.0

原因: 使用navigateTo() 跳转路由的话并不会销毁页面和组件,会加入一个最大数量为十层的路由栈,之前路由只是被隐藏了, so 没有销毁 肯定就没有执行销毁函数(return);

解决方案:

**1.**改用其他路由跳转方式

redirectTo(): 跳转到目的页面,在当前页面打开

reLaunch(): 关闭所有页面,打开到应用内的某个页面

2. 在taro 提供的专属的生命周期里面处理销毁时间

useDidHide(): 页面隐藏/切入后台时触发。等同于 componentDidHide 页面生命周期钩子。

3. 在navigateTo()的成功函数success里面 写销毁后的相关操作(算是曲线救国操作吧) Taro 文档

复制代码
Taro.navigateTo({
  url: 'test?id=1',
  success: function () {
    // 或者执行当前页面销毁操作需要处理的事
    console.log('currentDestory fffffdestory');
  }
})

官方参考文档:Taro 文档

相关推荐
用户9385156350710 小时前
React + JWT 登录鉴权底层原理与工程化实践
前端·react.js
show43312 小时前
2026微信小程序视频转文字多语种识别引擎技术选型:22种方言25种外语挑战
微信小程序·小程序·音视频
张元清15 小时前
React useScrollLock Hook:为弹窗锁住页面滚动 (2026)
javascript·react.js
kisshyshy17 小时前
从 useRef 到 Web Worker:理解 React 可变对象与浏览器多线程
前端·javascript·react.js
产品设计大观18 小时前
实测墨刀AI生成光伏储能管理后台,快速交付高保真界面和React源码
人工智能·react.js·墨刀
MrFlySand_飞沙21 小时前
uniapp开发微信小程序实现接入企业微信客服
微信小程序·小程序·uni-app·企业微信
拾年27521 小时前
前后端分离开发,别再"傻等"后端接口了——聊聊前端接口工程
前端·javascript·react.js
码艺-Alimjan21 小时前
JWT 的本质、误区与正确落地:一套不依赖任何框架的架构方法论-微信小程序代码案例-Api 安全性拉满
微信小程序·架构·notepad++
禁止摆烂_才浅21 小时前
微信小程序高频面试题
前端·面试·微信小程序
半个落月21 小时前
React 受控组件与非受控组件详解:从输入框到表单校验
前端·react.js