我正在尝试在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 {
}
}
答案 0 :(得分:2)
必须实例化Landing类,以便您使用formatBytes
方法。通过执行以下操作来实例化Landing的新实例:
const myLanding = new Landing();
myLanding.formatBytes(item.sizeDifference, 3);
或通过编写public static formatBytes...