yrq110/remax-wx-ts-demo

怎么才能在App.ts中得到生命周期钩子函数的提示呢?

IMakiMaki opened this issue · 4 comments

怎么才能在App.ts中得到生命周期钩子函数的提示呢?

指的是在app.ts中使用生命周期函数还是相关的react hooks?

指的是在app.ts中使用生命周期函数还是相关的react hooks?

使用生命周期函数~但是又想得到ts的IDE提示

指的是在app.ts中使用生命周期函数还是相关的react hooks?

使用生命周期函数~但是又想得到ts的IDE提示

我看代码里简单处理了下App的生命周期函数,应该直接在App类里使用onLaunch, onShow等相关函数就行,你可以试试。它对每个平台都引入了定义文件,ts提示我猜是有的..

export default function createAppConfig(this: any, App: any) {
  const createConfig = (
    AppComponent: React.ComponentType = DefaultAppComponent
  ) => {
    return {
    ...
      onLaunch(options: any) {
        this._instance = this._render();
        if (this._instance && this._instance.onLaunch) {
          this._instance.onLaunch(options);
        }
      },
    ...
      onShow(options: any) {
        if (this._instance && this._instance.onShow) {
          this._instance.onShow(options);
        }
      },
...

它对于Page实例提供了一些react hooks,也包含一些跟生命周期相关的。

指的是在app.ts中使用生命周期函数还是相关的react hooks?

使用生命周期函数~但是又想得到ts的IDE提示

我看代码里简单处理了下App的生命周期函数,应该直接在App类里使用onLaunch, onShow等相关函数就行,你可以试试。它对每个平台都引入了定义文件,ts提示我猜是有的..

export default function createAppConfig(this: any, App: any) {
  const createConfig = (
    AppComponent: React.ComponentType = DefaultAppComponent
  ) => {
    return {
    ...
      onLaunch(options: any) {
        this._instance = this._render();
        if (this._instance && this._instance.onLaunch) {
          this._instance.onLaunch(options);
        }
      },
    ...
      onShow(options: any) {
        if (this._instance && this._instance.onShow) {
          this._instance.onShow(options);
        }
      },
...

它对于Page实例提供了一些react hooks,也包含一些跟生命周期相关的。

是的,在Page中可以直接用hooks来实现生命周期的逻辑,但是在App.ts中就要通过在class定义指定名称的函数来实现生命周期逻辑,并没有IDE提示,没有找到相关的d.ts... 所以目前我实现的方式就是手动定义一个描述App内部生命周期的interface,然后再用App class去implements,这样才能得到完备的IDE提示。非常感谢~