我们正在尝试在依赖于React的npm包中包含定义文件。
图书馆是https://github.com/eiriklv/react-masonry-component。
在TypeScript项目的自定义d.ts
文件中提供以下定义可以正常工作:
declare module "react-masonry-component" {
import React = __React;
interface MasonryPropTypes {
disableImagesLoaded: boolean;
options: Object;
className: string;
elementType: string
}
export var Masonry: React.Component<MasonryPropTypes, void>;
}
问题是包中的d.ts
文件中的相同定义(在typings
中设置了正确的package.json
)并不起作用,因为它没有&# 39; t识别通过来自DefinitelyTyped的tsd / typings提供的__React
类型。
如何正确处理此问题?我们是否必须复制React的声明只是为了让编译器满意或有没有办法包含React.Component
?
答案 0 :(得分:0)
没有足够的声誉来发表评论,但是想知道你是否有这个?看起来您在使用Typings或任何其他typedef管理器并且完全依赖于tsd的模块解析。正确的吗?
我在本期中提到了这个问题:https://github.com/typings/typings/issues/645
认为我们在这里偶然发现了同样的事情,并将以解决方案进行编辑。
修改强> 关于你没有使用typedef管理器的评论我不正确。你清楚地说明了这一点,虽然我在你的回购中没有明确地看到任何东西。
Cliffnotes让这一切按照你想要的方式工作:我建议你用Typings作为经理;从package.json中删除typings条目,而在typings.json中指向它,将允许导入解析。