我如何在TypeScript中使用无打字稿的React组件?

问题描述 投票:1回答:1

我是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

谢谢你前进

javascript reactjs typescript components
1个回答
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提及这一点。

© www.soinside.com 2019 - 2024. All rights reserved.