升级react路由器版本,我在我的项目中得到了2



我正在为我的一个朋友项目升级react路由器版本

问题是有2个反应路由器。我需要去掉两个还是去掉一个就可以了?

{
"name": "root",
"private": true,
"devDependencies": {
"@types/react-router-dom": "5.3.3",
},
"scripts": {
"start": "nx serve",

},
"dependencies": {
"react-router-dom": "5.3.0",
"yup": "0.32.11"
}
}

你没有安装两个相同的NPM包,@types/react-router-domreact-router-dom是不同的包。后者是实际的react-router-dom依赖,而前者是它作为开发依赖的typescript定义。也就是说,您应该尝试使用两者的相同版本,因为@types/react-router-dom通常与其键入的包的版本相匹配。

从终端运行npm i -S react-router-dom@5.3.3来安装相同的版本。

升级到RRDv6

react-router-dom@6完全是用Typescript编写的,所以如果你决定升级到RRDv6,你不再需要额外的类型包,只安装react-router-dom@6就足够了。

删除所有已安装的@types/react-router-dom

为什么不让rm -rf node_modules来清理呢?删除json中的旧路由器版本,并创建nmp i。如果需要因为没有路由器后删除旧的makenpm i react-router