报如下错,查react-router-dom版本。 因为:react-router-dom从V5升级到V6造成的 (1) 将Switch 重命名为 Routes (2) Route 的新特性变更 ,component/render被element替代 (3)嵌套路由变得更简单
我们知道,在react项目里使用路由的集中管理,需要安装react-router-config,而在我安装引入之后就出现以上报错, 我只好顺着错误去看看react-router-config的源码,这里发现react-router-config使用的竟然还是react-router v5的Switch,我当时就无语了,哥们时代变了你不知道吗,我的react-router-dom是^6,所以才产生了报错。
针对你遇到的问题 export 'switch' (imported as 'switch') was not found in 'react-router',我们可以按照以下步骤进行排查和解决: 确认'react-router'库是否已正确安装并引入 首先,确保你的项目中已经安装了react-router库。你可以通过查看package.json文件或使用以下命令来检查: bash npm list react-router-do...
https://reacttraining.com/react-router/web/guides/quick-start 源码地址:https://github.com/ReactTraining/react-router 使用版本: 5.1.2 实例一: 基础的router 代码: import React from 'react'; import { BrowserRouter as Router, Switch, Route, Link } from "react-router-dom"; function Home() { ...
export 'withRouter' (imported as 'withRouter') was not found in 'react-router-dom' 原因:这些报错原因均为'Switch' 和'Redirect' 是react-router 5版本的接口,而最新版本是 "react-router-dom": "^6.2.1",并且已经将Switch改为Routes。 解决办法有二: ...
问题是 URL 发生了变化,但是相应的组件没有Route呈现,而是NotFoundPage呈现了。这是App.js Router代码:<Router history={history}> <Switch> <PrivateRoute exact path="/" component={HomePage} /> <Route path="/login" component={LoginPage} /> <Route path="/register" component={RegisterPage} /> <...
源码地址:https://github.com/ReactTraining/react-router 使用版本: 5.1.2 实例一: 基础的router 代码: import React from 'react'; import { BrowserRouter as Router, Switch, Route, Link } from "react-router-dom"; function Home() { return Home; } function About() { return About; } function...
1. 使用 <Routes> 而不是 <Switch> 修复“‘Switch’ is not exported from ‘react-router-dom'” 错误的一种方法是将<Switch>替换为<Routes>。 让我们来看一个示例,看看如何将路由代码从 React Router 版本 5 中已废弃的<Switch>组件更新为 React Router 版本 6 中的新<Routes>组件。
import{BrowserRouterasRouter,Route,Switch}from'react-router-dom'; 1. 原因:安装了6.x版本的react-router-dom,在新版本的代码中,已经将 Switch改为Routes Redirect 改为Navigate ...
export 'Switch' (imported as 'Switch') was not found in 'react-router-dom' 使用react-router时报错! 解决方案: 将react-router版本降到5即可