react之withRouter的作用

2022-06-22 19:36:09 字數 969 閱讀 8226

withrouter的作用:把不是通過路由切換過來的元件,將react-router的history、location和match三個物件傳入到props物件上;

預設情況下必須是經過路由匹配渲染的元件才存在this.props,才擁有路由引數,才能使用程式設計式導航的寫法,執行this.props.history.push('/detail')跳轉到對應路由的頁面

然而不是所有元件都直接與路由相連(通過路由跳轉到此元件)的,當這些元件需要路由引數時,使用withrouter就可以給此元件傳入路由引數,此時就可以使用this.props

一:如何使用withrouter:

import react, from 'react'

import from 'react-router-dom' //引入withrouter

import one from './one'

import notfound from './notfound'

//此時才能獲取this.props,包含(history, match, location)三個物件

console.log(this.props); //輸出, location: , history: , 等}

公司列表

) }

}二:介紹乙個簡單應用

可以根據路由切換瀏覽器的title屬性,對props.history進行監聽,切換路由的時候獲取當前的路由路徑,同時可以根據不同的路由設定不同的瀏覽器title標題。

import react, from 'react'

import from 'react-router-dom'

import one from './one'

import notfound from './notfound'

constructor(props)})}

render()

}

React初探之React特性

一 宣告式開發 與原生dom jquery等命令式程式設計不同 不通過指令來控制檢視變化,是面向資料的程式設計 通過控制資料,改動資料的方式控制檢視的變化,dom的部分react會幫你自動構建 二 可以與其他框架並存 reactdom.render document.getelementbyid r...

學習筆記之React

virtual dom 虛擬dom 傳統的web應用,操作dom一般是直接更新操作的,但是我們知道dom更新通常是比較昂貴的。而react為了盡可能減少對dom的操作,提供了一種不同的而又強大的方式來更新dom,代替直接的dom操作。就是virtual dom,乙個輕量級的虛擬的dom,就是reac...

React之教程總結

前言 前段時間學習了react,主要的學習資料是乙個不錯的 教程,學習的過程基本都是按部就班的學的。在學react之前,我是有jquery的基礎的,之前也簡單的了解過vue,知道類似vue這類框架和jquery是有很大的不同的。在以前,基本都是html css js 或jquery 而在vue re...