React - 后续变量声明必须具有相同的类型

Hid*_*ing 1 typescript reactjs webpack

当我尝试在我的React应用程序中运行webpack时,我得到了 在此输入图像描述

对于不同的变量,我得到这个错误58次.我尝试删除@types目录,我收到以下错误: 在此输入图像描述

如何在不添加@ types /反应回项目的情况下解决这个问题,因为那之前导致了58个错误?

我也尝试将所有'SVGProps'更改为@ types/react/index.d.ts内的另一个名称'SVGPropss'并且没有运气

lao*_*hiv 6

一种可能性是你有其他依赖关系依赖于旧版本@types/react或纱线/ npm决定他们应该使用旧版本.

例如:@types/react-dom取决于@types/react.当我遇到这个问题时,我只是手动更改了版本号@types/react并重新运行yarn install.纱线愉快地安装新版本的@types/react到我的node_modules/@types/目录,但它也安装我的版本使用到所有依赖于其他模块@types/react.所以我最终得到了一个目录树

node_modules
+-- @types
|   +-- react // 16.0.2
|   +-- react-dom
|   |   |   +-- node_modules
|   |   |   +-- @types
|   |   |   |   +-- react // 15.0.35
Run Code Online (Sandbox Code Playgroud)

您可以快速扫描./node_modules/@types/目录,看看它们是否有自己的子目录node_modules/@types/react.如果是这样,这可能是您复制居住地的地方.

我解决这个问题的方法就是运行

> yarn outdated
> yarn upgrade
Run Code Online (Sandbox Code Playgroud)

过时的 | 升级

要么

> npm outdated
> npm upgrade
Run Code Online (Sandbox Code Playgroud)

过时的 | 升级

如果您实际上并不希望升级所有模块输出,outdated则只能将要更新的模块作为参数提供给upgrade.我怀疑你可以简单地跑

yarn upgrade @types/react
Run Code Online (Sandbox Code Playgroud)

并完全解决问题,但我没有测试过.