首页 > 解决方案 > 重新导出命名的 typescript 接口会引发错误

问题描述

我有重新导出命名打字稿元素的问题。

我有一个类似这样的反应文件:

自定义组件/自定义组件.tsx:

export interface CustomComponentProps { ... }

const CustomComponent: React.FunctionComponent<CustomComponentProps> = () => {
  ...
}
export default CustomComponent

自定义组件/index.ts:

import CustomComponent from './CustomComponent'
export { CustomComponentProps } from './CustomComponent'

export default CustomComponent

错误信息如下:

尝试导入错误:“CustomComponentProps”未从“./CustomComponent”导出。

或者

import CustomComponent from './CustomComponent'
import { CustomComponentProps } from './CustomComponent'

export default CustomComponent
export CustomComponentProps

错误消息在哪里:

解析错误:需要声明或声明

CustomComponent/index.ts 工作正常时:

import CustomComponent from './CustomComponent'
export * from './CustomComponent'

export default CustomComponent

此错误的原因可能是什么以及如何修复它以使用类似(或类似)失败示例的导出?导出的格式很重要,因为需要控制从index.ts.

标签: typescriptecmascript-6es6-modules

解决方案


我在写这个问题时设法解决了我的问题,所以我分享了解决方案,因为我没有发现任何类似的问题:

import CustomComponent from './CustomComponent'
import {
  CustomComponentProps as CustomComponentPropsOriginal
} from './CustomComponent'

export default CustomComponent
export interface CustomComponentProps extends CustomComponentPropsOriginal {}

推荐阅读