生命周期钩子函数是什么?Ability、页面、组件

63 阅读2分钟

1.Ability的生命周期?

  • onCreate
  • onWindowStateCreate
  • onNewWant(再次进入)- 拉起ability 如果ability已经存在的情况下,onNewWant会执行
  • onForground 进入前台
  • onBackground
  • onDestory

单例模式-entry 多例模式-永远创建新的abiltiy。

2.页面生命周期 和 组件生命周期?

组件和页面在创建、显示、销毁的这一整个过程中,会自动执行 一系列的【生命周期钩子】->【函数】。

2.1 自定义组件和页面的关系?

自定义组件:@Component 装饰的UI单元,可以组合多个系统组件实现UI复用,可以调用组件的生命周期。 页面:即应用的UI页面。可以由一个或者多个自定义组件组成。@Entry装饰的自定义组件为页面的入口组件=页面的根节点,一个页面有且仅能有一个@Entry,只有被@Entry装饰的组件才可以调用页面的生命周期。

2.2 页面生命周期:

  • abouteToAppear
  • build
  • onPageshow
  • onPageHide
  • aboutToDisappear

@Entry 也是@Component组件,所以页面组件同时拥有自定义组件的生命周期 onPageShow:页面每次显示时触发一次,包括路由过程、应用进入前后台等场景,仅 @Entry 修饰的自定义组件生效。 onPageHide:页面每次隐藏时触发一次,包括路由过程、应用进入前后台等场景,仅 @Entry 修饰的自定义组件生效。 onBackPress:当用户点击返回按钮时触发,仅 @Entry 修饰的自定义组件生效。 内部如果返回 true,就无法通过返回键返回上一页,用户就必须和页面交互才可以返回。

2.3 组件生命周期:

  • aboutToAppear:aboutToAppear 函数在创建自定义组件的新实例后,在执行其 build 函数之前执行。 允许在 aboutToAppear 函数中改变状态变量,更改将在后续执行 build 函数中生效。
  • aboutToDisappear:aboutToDisappear 函数在自定义组件析构销毁之前执行。 不允许在 aboutToDisappear 函数中改变状态变量,特别是 @Link 变量的修改可能会导致应用程序行为不稳定。

原生组件有一个事件 : Column ( ) { }

.onAppear(( ) => { })