這篇文章主要介紹“react路由返回時(shí)不刷新如何解決”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“react路由返回時(shí)不刷新如何解決”文章能幫助大家解決問(wèn)題。
創(chuàng)新互聯(lián)公司是一家專(zhuān)注于成都網(wǎng)站制作、成都做網(wǎng)站與策劃設(shè)計(jì),順平網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:順平等地區(qū)。順平做網(wǎng)站價(jià)格咨詢(xún):18982081108
react路由返回時(shí)不刷新的解決辦法:1、在路由組件上最上層元素上加一個(gè)key增加路由的識(shí)別度;2、將key綁定在路由頂層元素上,精確定位路由;3、使用withRouter關(guān)聯(lián)下組件即可。
react 跳轉(zhuǎn)后路由變了頁(yè)面沒(méi)刷新的解決方案
最近在學(xué)習(xí)React的過(guò)程中遇到了路由跳轉(zhuǎn)后頁(yè)面不刷新的問(wèn)題,本文就詳細(xì)的介紹一下解決方法,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
問(wèn)題
這樣的問(wèn)題貌似原因還挺多的,我的問(wèn)題是帶參數(shù)的url不能刷新,router 5.0版本 ,使用withRouter關(guān)聯(lián)組件進(jìn)行頁(yè)面跳轉(zhuǎn)
如下所示
路由代碼
解決方案
在路由組件上最上層元素上加一個(gè)key增加路由的識(shí)別度,因?yàn)槠胀ǖ奶D(zhuǎn)是根據(jù)path來(lái)識(shí)別的,但是path帶上參數(shù)時(shí),路由無(wú)法精確識(shí)別。不過(guò),在跳轉(zhuǎn)頁(yè)面的時(shí)候,每個(gè)地址都會(huì)在localtion對(duì)象里添加一個(gè)key。如下打印
// 組件掛載
componentDidMount() {
console.log(this.props.location);
}
我們將這個(gè)key綁定在 路由頂層元素上就能精確定位路由了
render() {
return (
{/*就是這個(gè)key*/}
然鵝,可能你發(fā)現(xiàn) this.props為{} 空對(duì)象
那可能是因?yàn)槟銢](méi)有使用withRouter關(guān)聯(lián)組件,關(guān)聯(lián)一下就好了。注意一點(diǎn),app.js無(wú)法關(guān)聯(lián),withrouter只能關(guān)聯(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 (
關(guān)于“react路由返回時(shí)不刷新如何解決”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。