react-router-dom v6 中的Routes

"react-router-dom": "^5.3.0",

在之前的react 项目中我们通过yarn add react-router-dom 引入react-router-dom文件

导入的文件的版本是5.3.0

然后再<App /> 这个组件中,我们这样写:

import React from 'react'
import { BrowserRouter as Router,Route,Switch } from 'react-router-dom';
import UserLogin from '@/components/UserLogin.js'
import HomeIndex from '@/components/HomeIndex.js'
import history from '@/components/History.js'


export default class App extends React.Component{
	render(){
		return (
			  <Router history={history}>
			     <Switch>  
				    <Route path="/" component={UserLogin} />
			        <Route path="/index" component={HomeIndex} />
			     </Switch>
			  </Router>
		);
	}
}

 那么在项目启动之后,localhost:3000 自动的显示是UserLogin 的页面,

但是这两天我同样使用yarn add react-router-dom 引入路由的包:

自动添加的却是 react-router-dom的6.0.2的包,版本的升级导致出现了

‘Switch‘ is not exported from ‘react-router-dom‘

Switch 在新的版本中,不能用了

说是变成了Routes,于是我把代码这样调整:

import React from 'react'
import { BrowserRouter as Router,Route,Routes} from 'react-router-dom';
import history from '@/components/history/History.js'
import IndexMenu from '@/components/IndexMenu.js'
import UserLogin from '@/components/login/UserLogin.js'

export default class App extends React.Component{
	render(){
		return (
		    <Router history={history}>
			   <Routes>  
			      <Route path="/index" component={IndexMenu} />
		          <Route path="/" component={UserLogin} />
			   </Routes>
		    </Router>
		);
	} 
}

我把原来代码中的Switch 换成了Routes 但是项目启动,并没有像我想的那样,页面并没有直接跳转到 UserLogin 这个组件

那里错了

				    <Route path="/" element={<UserLogin />} />
			        <Route path="/index" element={<HomeIndex />} />

route 标签中的内容也要做相应的修改

然后,我们启动项目,默认跳转到UserLogin 这个页面

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值