如何在 React Typescript 应用程序中导入 react-admin?

Posted

技术标签:

【中文标题】如何在 React Typescript 应用程序中导入 react-admin?【英文标题】:How do I import react-admin in a React Typescript appplication? 【发布时间】:2020-03-09 07:35:09 【问题描述】:

我正在尝试在 typescript 中设置一个 react-admin 应用程序,但我不太清楚如何导入 react-admin。它给了我一个(简单的)错误说

"Could not find a declaration file for module 'react-admin'. 
'.../node_modules/react-admin/lib/index.js' implicitly has an 'any' type.
Try `npm install @types/react-admin` if it exists or add a new declaration (.d.ts)
 file containing `declare module 'react-admin';`"

@types/react-admin 不是一个有效的包,但我在 github 或 *** 上找不到其他人抱怨这个。我错过了什么吗?据我所知,大部分内容已经迁移到 typescript。

编辑:发现 this 实际上引用了 ts 的问题。然而,距离他们说“这需要几个月”已经 5 个月了

【问题讨论】:

【参考方案1】:

如果在创建 .d.ts 文件后问题仍然存在,请在 tsconfig.json 中使用 "noImplicitAny": false,

【讨论】:

【参考方案2】:

当前版本的 react-admin 不导出类型定义。要编译您的项目,您需要创建index.d.ts 文件并修改tsconfig.json

├── @types
│   └── react-admin
│       └── index.d.ts
└── tsconfig.json
// tsconfig.json


  ...
  "compilerOptions": 
    ...
    "typeRoots": ["./@types"],
    ...
  ,
  ...

// index.d.ts
declare module 'react-admin';

【讨论】:

谢谢,这是正确的答案。作为一般规则,在 index.d.ts 中声明模块通常会起作用。

以上是关于如何在 React Typescript 应用程序中导入 react-admin?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 React 应用程序的 typescript 文件中导入 js 模块(使用绝对路径)?

如何在 React/TypeScript 应用程序中的模块方法上获取 VSCode 智能感知?

你如何在带有 Typescript 的 create-react-app 中使用 Mocha?

如何使用 React 和 TypeScript 设置 Electron?

如何在带有 Typescript 项目的 React Native 中使用 AWS Amplify?

如何在 Typescript 中定义 React Navigation navigationOptions 参数