HarmonyOS 鸿蒙Next @Entry @Component struct MainPage 被@Entry修饰的生命周期问题

HarmonyOS 鸿蒙Next @Entry @Component struct MainPage 被@Entry修饰的生命周期问题 创建项目的时候有一个启动页面显示广告的案列代码,

SplashScreenPage这个页面有个计时器,有时候pageHide的生命周期没有回调,该代码
clearInterval()在pageHide()在生命周期内执行
导致计时器没有结束,
计时器内满足条件跳转第二页面:router.replaceUrl({
  url: CommonConstants.MAIN_PAGE_URL
})这个方法回一直调用,导致
MainPage一直刷新

更多关于HarmonyOS 鸿蒙Next @Entry @Component struct MainPage 被@Entry修饰的生命周期问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

楼主您好,关于页面和自定义组件生命周期的问题可以参考以下文档:

页面和自定义组件的生命周期

更多关于HarmonyOS 鸿蒙Next @Entry @Component struct MainPage 被@Entry修饰的生命周期问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)中,@Entry修饰的@Component struct表示这是一个页面的入口组件。@Entry用于标识该组件是应用的入口页面,系统会自动处理其生命周期。

@Entry修饰的组件生命周期主要包括以下几个阶段:

  1. onPageShow: 当页面显示时触发。此时页面已经准备好,可以进行数据初始化或UI更新。
  2. onPageHide: 当页面隐藏时触发。页面不再可见时调用,可以在此释放资源或停止动画等。
  3. onBackPress: 当用户按下返回键时触发。可以在此处理返回逻辑,返回true表示已处理,返回false则继续默认行为。
  4. onPageActive: 当页面从后台返回到前台时触发。页面重新可见时调用。
  5. onPageInactive: 当页面从前台切换到后台时触发。页面不再活跃时调用。

这些生命周期方法会在组件的不同状态下自动调用,开发者可以根据需要在相应的方法中实现业务逻辑。

@Entry修饰的组件生命周期与普通的@Component有所不同,@Entry专门用于管理页面的入口及其生命周期。

回到顶部