這篇文章主要介紹了react路由跳轉不刷新如何解決的相關知識,內(nèi)容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇react路由跳轉不刷新如何解決文章都會有所收獲,下面我們一起來看看吧。
為彰武等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及彰武網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為做網(wǎng)站、網(wǎng)站設計、彰武網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
react路由跳轉不刷新的解決辦法:1、在路由組件最上層元素上加一個key增加路由的識別度;2、使用withRouter關聯(lián)組件,代碼如“render() {return (<div key={this.props.location.key}></div>); }}export default withRouter(routers);”。
react 跳轉后路由變了頁面沒刷新
這樣的問題貌似原因還挺多的,我的問題是帶參數(shù)的url不能刷新,router 5.0版本 ,使用withRouter關聯(lián)組件進行頁面跳轉
如下所示
在路由組件上最上層元素上加一個key增加路由的識別度,因為普通的跳轉是根據(jù)path來識別的,但是path帶上參數(shù)時,路由無法精確識別。不過,在跳轉頁面的時候,每個地址都會在localtion對象里添加一個key。如下打印
// 組件掛載
componentDidMount() {
console.log(this.props.location);
}
我們將這個key綁定在 路由頂層元素上就能精確定位路由了
render() {
return (
{/*就是這個key*/}
<div key={this.props.location.key}>
<Switch>
<Route exact path="/" component={Home} />
<Route exact path="/products/:id" component={Products} />
<Route exact path="/about" component={About} />
<Route exact path="/solution" component={Solution} />
<Route
exact
path="/solutionDetails/:id"
component={SolutionDetails}
/>
<Route exact path="/download" component={Download} />
<Route path="/about" component={Download} />
<Route exact path="/details/:id" component={Details} />
<Route path="/contact" component={Contact} />
<Route component={ErrorPage} />
</Switch>
</div>
);
}
然鵝,可能你發(fā)現(xiàn) this.props為{} 空對象
那可能是因為你沒有使用withRouter關聯(lián)組件,關聯(lián)一下就好了。注意一點,app.js無法關聯(lián),withrouter只能關聯(lián)路由組件或者app.js的子組件
import React, { Component } from "react";import {withRouter } from "react-router";class routers extends Component {
/**
* 生命周期函數(shù)
*/
// 組件掛載
componentDidMount() {
console.log(this.props.location);
}
render() {
return (
<div key={this.props.location.key}>
</div>
);
}}export default withRouter(routers);
關于“react路由跳轉不刷新如何解決”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“react路由跳轉不刷新如何解決”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
本文名稱:react路由跳轉不刷新如何解決
文章源于:http://muchs.cn/article44/joodhe.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設、網(wǎng)站改版、營銷型網(wǎng)站建設、網(wǎng)站建設、服務器托管、自適應網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)