我正在创建this sandbox,在./src/components/tree/index.tsx
中,我有以下代码:
/// <reference path="./Tree.d.ts" />
export const Tree: React.FunctionComponent<TreeProps> = ({
在Tree.d.ts
中,我具有接口定义:
export interface TreeProps<Datum, LinkComponentType, NodeComponentType> {
top?: number;
left?: number;
但是tsc在抱怨:
找不到名称'TreeProps'.ts(2304)导出的变量'Tree'具有或 使用私有名称'TreeProps'.ts(4025)
答案 0 :(得分:1)
您忘记了从文件中导入
interface
TreeProps
。
只需在您的src/components/Tree/index.tsx
中添加以下行
import {TreeProps} from './Tree'
您还需要将参数传递给Tree道具
以下是我想让您知道的一些事情,也许您已经在这里知道了一些事情。
文件abc.js
中模块的声明文件应位于abc.d.ts中,文件名应相同且应在同一目录中,否则您必须显式添加{{ 1}}。
声明文件用于区分 javascript模块的类型,因此,在编写打字稿时,无需添加declare module
文件,{{ 1}}将自动生成.d.ts
和相应的tsc
文件。