日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

写在方法中的路由跳转

發布時間:2025/4/5 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 写在方法中的路由跳转 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

場景:login頁面點擊登陸按鈕,登陸成功后,進入home頁面;(當然,這里就不能用Link跳轉了)

問題:history的報錯;

解決:需要引入react-router-dom中的withRouter

import {withRouter} from 'react-router-dom';

?

然后在暴露出組件的時候,用withRouter給包裹起來~像這樣:

class Home extends Component {} export default withRouter(Home) //重點

最后,在你需要跳轉的login頁面:

//注意:HashRouter不支持state。。。BrowserRouter才支持state,但是BrowserRouter本身需要后端做相應的配置this.props.history.push( `/expert-detail/${LecturerID}`)//不帶statethis.props.history.push({pathname: `/expert-detail/${LecturerID}`,state:data})//帶有state

?

總結:

withRouter解決了方法中路由跳轉的問題,解決了history報錯
了解了HashRouter與BrowserRouter的異同,這里我選用了BrowserRouter來配置路由。
分享: import { BrowserRouter as Router,Route, Switch, Redirect } from 'react-router-dom'     <Router><Switch><Route exact path="/"render={ () => {if(loginSuccess){ //判斷是否已經登陸return <Redirect to="/home" />}else{return <Redirect to = "/login" /> }}}/><Route exact path="/login" component={ Login } /><Home>{ CHILD_ROUTES.map(item => {return <Route key={ item.id } path={ item.path } component={ item.main } /> }) }</Home></Switch></Router>

?



轉載于:https://www.cnblogs.com/wang715100018066/p/10514730.html

總結

以上是生活随笔為你收集整理的写在方法中的路由跳转的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。