1. 程式人生 > >React中路由傳參及接收引數的方式react-router-dom4.3.1

React中路由傳參及接收引數的方式react-router-dom4.3.1

方式1:通過params

1.法一(在重新整理頁面的時候,引數不會丟失。

   (1)路由表中 
   <Route path=' /user/:id '   component={User}></Route>  
   (2)Link處   (跳轉user頁面) 
   HTML方式:    <NavLink to={ ' /user/ ' + ' 2 ' }>使用者</NavLink> 
   JS方式:    this.props.history.push('/user/'+'2') 
    (3)user頁面
    this.props.match.params.id  

2.法二(在重新整理頁面的時候,引數丟失。
JS方式:   this.props.history.push({ pathname: '/user' , params : { id: '2' }})
user頁面:  this.props.location.params.id

方式2:通過query在重新整理頁面的時候,引數丟失。

(1)路由表中 
<Route path="/role" component={role}/>
(2)Link處   (跳轉role頁面)
HTML方式:
var data = {id:3};
var path = {
  pathname:'/role',
  query:data,
}
<NavLink  to={path} >日誌</NavLink>
JS方式:


this.props.history.push({ pathname: '/three' , query : { id: '6666' }})
(3)role頁面
this.props.location.query.id

方式3:通過state在重新整理頁面的時候,引數不會丟失。

(1)路由表中 
<Route path="/role" component={role}/>
(2)Link處   (跳轉role頁面)
HTML方式:
var data = {id:3};
var path = {
  pathname:'/role',
  state:data,
}
<NavLink  to={path} >日誌</NavLink>
JS方式:


this.props.history.push({ pathname: '/three' , state: { id: '6666' }})
(3)role頁面
this.props.location.state.id