欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

react跳轉(zhuǎn)后路由變了頁面沒刷新的解決

 更新時間:2023年03月11日 15:03:43   作者:checkMa  
這篇文章主要介紹了react跳轉(zhuǎn)后路由變了頁面沒刷新的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

問題

這樣的問題貌似原因還挺多的,我的問題是帶參數(shù)的url不能刷新,router 5.0版本 ,使用withRouter關(guān)聯(lián)組件進(jìn)行頁面跳轉(zhuǎn)

如下所示

路由代碼

解決方案

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

不過,在跳轉(zhuǎn)頁面的時候,每個地址都會在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關(guān)聯(lián)組件,關(guān)聯(lián)一下就好了。注意一點,app.js無法關(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 (
     <div key={this.props.location.key}>
     </div>
   );
 }
}
export default withRouter(routers);

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • React如何自定義輪播圖Carousel組件

    React如何自定義輪播圖Carousel組件

    這篇文章主要介紹了React如何自定義輪播圖Carousel組件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • react基于react-slick實現(xiàn)多圖輪播效果

    react基于react-slick實現(xiàn)多圖輪播效果

    React slick是一個使用React構(gòu)建的輪播組件,下面這篇文章主要給大家介紹了關(guān)于react基于react-slick實現(xiàn)多圖輪播效果的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • React如何優(yōu)雅的捕獲異常

    React如何優(yōu)雅的捕獲異常

    捕獲異常是來定位你錯誤代碼的。本文主要介紹了 React如何捕獲異常,你知道多少種方法,ErrorBoundary,ErrorBoundary-try-catch等等。本文就來詳細(xì)的介紹一下
    2021-06-06
  • React項目開發(fā)中函數(shù)組件與函數(shù)式編程關(guān)系

    React項目開發(fā)中函數(shù)組件與函數(shù)式編程關(guān)系

    函數(shù)組件和函數(shù)式編程究竟是什么關(guān)系呢?本文會圍繞這個話題展開講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • react+antd動態(tài)增刪表單方式

    react+antd動態(tài)增刪表單方式

    這篇文章主要介紹了react+antd動態(tài)增刪表單方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • react+ant design實現(xiàn)Table的增、刪、改的示例代碼

    react+ant design實現(xiàn)Table的增、刪、改的示例代碼

    這篇文章主要介紹了react+ant design實現(xiàn)Table的增、刪、改的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • React?Hooks?實現(xiàn)的中文輸入組件

    React?Hooks?實現(xiàn)的中文輸入組件

    這篇文章主要為大家介紹了React?Hooks實現(xiàn)的中文輸入組件示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • React?Native中原生實現(xiàn)動態(tài)導(dǎo)入的示例詳解

    React?Native中原生實現(xiàn)動態(tài)導(dǎo)入的示例詳解

    在React?Native社區(qū)中,原生動態(tài)導(dǎo)入一直是期待已久的功能,在這篇文章中,我們將比較靜態(tài)和動態(tài)導(dǎo)入,學(xué)習(xí)如何原生地處理動態(tài)導(dǎo)入,以及有效實施的最佳實踐,希望對大家有所幫助
    2024-02-02
  • webpack4+react多頁面架構(gòu)的實現(xiàn)

    webpack4+react多頁面架構(gòu)的實現(xiàn)

    webpack在單頁面打包上應(yīng)用廣泛,以create-react-app為首的腳手架眾多。這篇文章主要介紹了webpack4+react多頁面架構(gòu)的實現(xiàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • 基于React實現(xiàn)下拉刷新效果

    基于React實現(xiàn)下拉刷新效果

    這篇文章主要介紹了如何基于react實現(xiàn)下拉刷新效果,在下拉的時候會進(jìn)入loading狀態(tài),文中有詳細(xì)的代碼示例供大家參考,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-03-03

最新評論