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