javascript - 将类的静态方法转换为变量 typescript

标签 javascript reactjs typescript react-native service

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

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()

但希望它读起来像这样

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

最佳答案

这称为 getter :

export default class NavigationService {

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

关于javascript - 将类的静态方法转换为变量 typescript ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60874730/

相关文章:

javascript - 通过 Redux 中的回调分派(dispatch)操作

javascript - 这在 javascript 函数中变为 null

javascript - 如何使scrollIntoView()在第一次点击时起作用(Angular 6)?

javascript - 当用户停止点击时触发事件

javascript - 检测 Body Scroll 何时到达顶部 |元素底部

javascript - IE6和IE7下JS执行有区别吗

reactjs - 其他 key 从 `getServerSideProps` 返回。从 getServerSideProps 返回 notFound 对象

javascript子函数将返回值传递给父函数返回值

javascript - react : How to create state dependent function in functional components?

javascript - 为什么类中的属性不是只读的(Typescript)