這篇文章主要介紹了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 (
); }}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*/}
exact
path="/solutionDetails/:id"
component={SolutionDetails}
/>
);
}
然鵝,可能你發(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 (
);
}}export default withRouter(routers);
關于“react路由跳轉不刷新如何解決”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“react路由跳轉不刷新如何解決”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。