关于在微信小程序中使用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 文档

相关推荐
用户23678298016828 分钟前
从 JSON.parse 到树形视图:实现一个在线 JSON 格式化工具
react.js
Highcharts.js4 小时前
用Highcharts如何动态向一个序列添加点
前端·javascript·react.js·highcharts
TechMasterPlus5 小时前
Hermes 深度解析:React Native 高性能 JavaScript 引擎实践指南
javascript·react native·react.js
FanetheDivine5 小时前
自定义useChat管理AI会话
前端·react.js·aigc
yqcoder9 小时前
React 深度解析:类组件 (Class) vs 函数组件 (Function)
前端·javascript·react.js
lichenyang45312 小时前
从零到一:用 Taro + React 搭建数据采集小程序
react.js·小程序·taro
暗不需求1 天前
React项目架构深度解析:从0到1理解现代前端工程化
前端·javascript·react.js
tianxiaxue11 天前
微信小程序如何跟企微互通
微信小程序·小程序·企业微信
Greg_Zhong1 天前
微信小程序中canvas绘制面积图,解决手机和模拟器都能渲染不溢出问题
微信小程序·小程序canvas绘制面积图
changshuaihua0011 天前
useState 状态管理
开发语言·前端·javascript·react.js