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...