我是TypeScript的新手,可以在TypeScript网站上阅读一些文档,但是不确定我是否理解正确。在这种情况下,我使用的包没有可用的TypeScript类型(prismic-reactjs
),所以我试图自己声明类型,以便摆脱因项目困扰的错误。
因此,作为一个基本示例,我将如何编写此类函数的声明:
const foo = ({ bar }) => {
return bar;
};
foo.baz = () => "string";
我可以做到这一点:
declare module "my-module" {
interface fooParams {
bar: string;
}
export function foo({ bar }: fooParams): string;
}
但是我不知道如何添加baz
属性。
答案 0 :(得分:1)
您可以使用intersection type来实现。
declare const foo: {
baz: () => string
} & (({ bar }: {bar: string}) => string)