在Typescript中的类中导出函数

时间:2019-02-05 03:34:04

标签: typescript export

我正在尝试在Typescript中的类内导出函数。我能够导出该类,并将其用作另一个类内部的导入。但是,当我尝试使用该功能时,它给我以下错误

  

类型“着陆”上不存在属性“ formatBytes”。

我正在尝试导出formatBytes类内部的函数Landing并将其用作Landing.formatBytes类内部的Modules

导出的类

import * as React from 'react';

export default class Landing extends React.Component<{}, SomeState> {
public formatBytes(bytes: number, decimals: number): string {

return 'something';
}

public componentDidMount(): void {

// code
}


public render(): JSX.Element {
const { items } = this.state;

return (
  <div>

  </div>
);
}
}

进口舱

import * as React from 'react';
import Landing from './Landing'

export default class Modules extends React.Component<
{},
IDetailsListModulesState
> {

constructor(props: {}) {
super(props);

const _columns: IColumn[] = [
  {
    onRender: (item: IDetailsListModuleItem) => {
      return (
        <span>
          {Landing.formatBytes(item.sizeDifference, 3)}
        </span>
      );
    }
  },
];

this.state = {
};
}

public componentDidMount(): void {

}

public render(): JSX.Element {

}
}

1 个答案:

答案 0 :(得分:2)

必须实例化Landing类,以便您使用formatBytes方法。通过执行以下操作来实例化Landing的新实例:

const myLanding = new Landing();
myLanding.formatBytes(item.sizeDifference, 3);

或通过编写public static formatBytes...

使formatBytes静态