91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

react跳轉后路由變了頁面沒刷新如何解決

發布時間:2023-03-11 17:09:11 來源:億速云 閱讀:150 作者:iii 欄目:開發技術

這篇文章主要介紹“react跳轉后路由變了頁面沒刷新如何解決”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“react跳轉后路由變了頁面沒刷新如何解決”文章能幫助大家解決問題。

問題

這樣的問題貌似原因還挺多的,我的問題是帶參數的url不能刷新,router 5.0版本 ,使用withRouter關聯組件進行頁面跳轉

如下所示

react跳轉后路由變了頁面沒刷新如何解決

路由代碼

react跳轉后路由變了頁面沒刷新如何解決

解決方案

在路由組件上最上層元素上加一個key增加路由的識別度,因為普通的跳轉是根據path來識別的,但是path帶上參數時,路由無法精確識別。

不過,在跳轉頁面的時候,每個地址都會在localtion對象里添加一個key。

如下打印

 // 組件掛載
  componentDidMount() {
    console.log(this.props.location);
  }

react跳轉后路由變了頁面沒刷新如何解決

我們將這個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>
    );
  }

然鵝,可能你發現 this.props為{} 空對象

那可能是因為你沒有使用withRouter關聯組件,關聯一下就好了。注意一點,app.js無法關聯,withrouter只能關聯路由組件或者app.js的子組件

import React, { Component } from "react";
import {withRouter } from "react-router";

class routers extends Component {
 /**
  * 生命周期函數
  */
 // 組件掛載
 componentDidMount() {
   console.log(this.props.location);
 }
 render() {
   return (
     <div key={this.props.location.key}>
     </div>
   );
 }
}
export default withRouter(routers);

關于“react跳轉后路由變了頁面沒刷新如何解決”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

醴陵市| 襄汾县| 左贡县| 西宁市| 五原县| 仁布县| 泸溪县| 通化县| 平安县| 繁昌县| 梁河县| 醴陵市| 沙坪坝区| 莱芜市| 博乐市| 东平县| 辽宁省| 凭祥市| 镇江市| 共和县| 五大连池市| 义马市| 南岸区| 纳雍县| 广东省| 萍乡市| 阿拉善右旗| 永州市| 永嘉县| 邯郸县| 栖霞市| 和田县| 象州县| 满城县| 揭阳市| 本溪| 南陵县| 寻乌县| 申扎县| 长宁区| 吉安市|