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

相关推荐
小粉粉hhh10 小时前
React(二)——dom、组件间通信、useEffect
前端·javascript·react.js
索西引擎12 小时前
【React】key 属性:协调算法中的元素标识机制与最佳实践
前端·javascript·react.js
不好听61314 小时前
前端路由完全指南(上篇):从原理到 6 种路由模式
前端·react.js
不好听61314 小时前
前端路由完全指南(中篇):React Router Hooks 完全指南
前端·react.js
ndsc_d17 小时前
前端实战复盘:用AI直接生成响应式官网落地页与React源码
前端·人工智能·react.js·ui·前端框架·aigc·paico
鸠摩智首席音效师20 小时前
如何在 macOS 上创建 React.js 应用程序 ?
前端·react.js·macos
TheITSea20 小时前
4、React+Tailwind CSS
前端·css·react.js
我是大卫20 小时前
【图】React源码解析-从源码数据结构、依赖算法、调度流水线到内存管理,深挖useEffect的全部核心机制
react.js·源码
用户2986985301420 小时前
在 React 中通过 JavaScript 实现 Excel 单元格、行与列的锁定保护
javascript·react.js·excel
didiplus1 天前
我在GitHub刷到一个诗词API,顺手写了款小程序
微信小程序