将类的静态方法转换为变量打字稿

时间:2020-03-26 19:26:19

标签: javascript reactjs typescript react-native service

您好,目前我正在为自己创建的应用程序/库提供服务,到目前为止,这是我弄清楚如何创建服务的最佳方法。理想情况下,我想将此方法更改为变量,以便于阅读

'someData' => $variable,

目前我有这个

import { NavigationRoute, NavigationParams } from 'react-navigation';
import { NavigationStackProp } from 'react-navigation-stack';

type Navigation =
  | NavigationStackProp<NavigationRoute<NavigationParams>, NavigationParams>
  | undefined;

export default class NavigationService {
  private static _navigator: Navigation;

  public static setNavigator(navigatorRef: Navigation) {
    this._navigator = navigatorRef;
  }

  public static navigate = (): Navigation => {
    // TODO: look into how to make this a variable
    return NavigationService._navigator;
  };
}

但希望它能像这样阅读

      IconPress: () => NavigationService.navigate()?.openDrawer()

1 个答案:

答案 0 :(得分:1)

这称为getter

export default class NavigationService {

    public static get navigate(): Navigation {
        return NavigationService._navigator;
    } 
}