我正在尝试将antd
库添加到从Visual Studio 2017(15.2.2)生成的React项目中。
我从项目模板" ASP.NET核心Web应用程序"并选择" React.js"在下面的窗口中。
此时一切正常。
如果我在antd
中添加package.json
(" antd":" 3.1.0")并在某些tsx
中添加导入文件,例如home.tsx
,例如:
import { Row } from 'antd';
我得到3个错误:
[at-loader]中的错误./node_modules/antd/lib/badge/ScrollNumber.d.ts:28:56 TS2694:命名空间' React'没有导出的成员' DetailedReactHTMLElement'。
[at-loader]中的错误./node_modules/antd/lib/badge/ScrollNumber.d.ts:38:52 TS2694:命名空间' React'没有导出的成员' DetailedReactHTMLElement'。
[at-loader]中的错误./node_modules/antd/lib/input/TextArea.d.ts:15:47 TS2694:命名空间' React'没有导出的成员' TextareaHTMLAttributes'。
如何修复这些错误?
我试图更新所有套餐但我仍然遇到同样的错误...... 我有一些其他项目同时使用React和antd,它们不是基于Visual Studio 2017提供的React.js模板,而且我没有任何错误。
感谢您的帮助!
答案 0 :(得分:3)
解决此问题的最简单方法是升级“typescript”包和所有与React相关的包(包括@ types / react- *),除了“react-hot-loader”(仅将其升级到最新的^ 3)他们最新的主要版本。
如果仍有问题,请删除node_modules,yarn.lock,npm-shrinkwrap.json和wwwroot / dist,然后重试。
答案 1 :(得分:2)
看起来{{
"Login": "JonSnow66",
"BirthDate": "1572 2 16",
"Desc": "I know nothing",
"Name": "Jon Snow",
"Type": "Admin",
"Password": "LetItSnow",
"Img": "/9j/4<BASE64>/Z\r\n",
"Email": "Jon.Snow@wall.com"
}: ""}
库有一个peer dependency of react >= 16,但是,就像你说的那样,Visual Studio 2017会生成一个带有反应版本15.2.2的repo。
一种解决方案是将您的antd
(实际上是您的react
,但您应该更改两者)更改为最新版本,截至目前为16.3.2。这是@Zack建议的,可能是更好的解决方案。请注意,如果您要升级@types/react
版本号,则可能还应升级react
版本和react-dom
版本。
或者,如果您希望按原样保留Visual Studio的输出,则可以使用支持@types/react-dom
v15的antd
的最新版本,即react
版本2.13.11。要安装它,请运行antd
。这样做的缺点是您无法使用依赖于npm install antd@2.13.11
v16的任何其他软件包。