我是React和Typescript的初学者。我在使用react组件时遇到问题打字稿中的https://www.npmjs.com/package/react-toggle-button。
我由Visual Studio生成类型。
Btw import ToggleButton from 'react-toggle-button';
错误:/ ClientApp / types / react-toggle-button“'没有默认导出。
因此,我以这种方式导入:
import * as ToggleButton from 'react-toggle-button';
<ToggleButton
value={this.state.influencer.billingVATPayer || false}
onChange={(e: any) => { console.log(e) }}
/>
我的错误:(TS)JSX元素类型'index'不是JSX元素的构造函数。类型“索引”中缺少属性“上下文”。
可以用某种方式导入无打字稿模块吗?
我的打字稿版本:3.2.4我的React版本:16.7.0
谢谢你前进
有时,软件包具有可以安装的“ @ types /”版本,而不是包含需要/想要导入的项目类型的普通软件包(例如https://www.npmjs.com/package/@types/react)。如果这不是一种选择,则可以:
A)创建您自己的.d.ts文件,并为您尝试导入的包创建自己的类型,如@hazardous所述。
或者您可以
B)编辑tsconfig.json文件和属性"allowJs"
并将其设置为true
,这允许将JS文件导入到Typescript文件中,而不会引起lint或编译器的抱怨。这对于大型代码库(甚至小型代码库)正在过渡到Typescript,并且无法立即将所有文件/组件都转换为Typescript尤其有用。也要大声喊@Juraj Kocan提及这一点。