我可能需要重新思考我们构建 React 组件的方式。我们正在使用允许使用 Typescript 的最新 react-scripts,并且默认情况下,isolatedModules它正在启用,这目前让我有点烦恼。
我们过去常常像这样构造一个组件:
Component
|_ Component.tsx
|_ index.ts
|_ types.ts
Run Code Online (Sandbox Code Playgroud)
Component.tsx 保存没有声明的实际组件index.ts 只是重新导出所有东西,这样我们就可以有一个单一的入口点,并且可以做类似的事情 import Component, { ComponentType } from '@/Component';
types.ts 保存实际的类型定义并导出其中的大部分或全部。
到目前为止一切顺利,无需isolatedModules. 但是,我们也导出了一些类型定义,有效地重新导出了在Component/types.ts. 这将不起作用,因为 TypeScript 本身不会再转译代码。
如何在没有单独的导入语句的情况下重新导出它@/Component/types(无论如何这可能是更简单的方法)?