react编程式导航和声明式导航(核心寻找路由对象)

 和 实现路由的跳转 是声明式导航

通过js路由对象的方式叫做编程式导航 push replace go 

路由对象只有被router处理过之后或者用WithRouter高阶组件处理过后才有

编程式导航:

1 push                           props.history.push('/singer')

2 replace                       props.history.replace({pathname:'/singer'})

3 go                               props.history.go(-1)  //返回

4 goback                       props.history.goBack()   //返回

5 goforward                   props.history.goForward()  //前进

WithRouter  :是一个函数,接收一个组件作为参数,返回一个新组件,在新组件里的props里会被注入路由对象 

WithRouter 作用处理一个组件给处理的组件添加路由对象 

注意:正常的组件是没有路由对象的 ,两和方式获取路由对象 

1 通过Route 处理过的组件在props里有路由对象

2 通过WithRouter处理过的组件也有路由对象

import {withRouter} from 'react-router-dom'  //引入

let NewComponent =WithRouter(CustomNav)//处理组件

export default NewComponent

你可能感兴趣的:(react编程式导航和声明式导航(核心寻找路由对象))