React跳转路由传参3种方法和区别


日常业务中,路由跳转的同时传递参数是比较常见的,为此来总结一下 react 的跳转方式

1、params 传参

路由表配置:参数地址栏显示

路由页面:

<Route path="/demo/:id" component="{Demo}"></Route> //配置 /:id

路由跳转并传递参数:

链接方式:

<Link to={'/demo/' + '2'}>XX</Link>

js 方式:

this.props.history.push("/demo/" + "2");

获取参数:

this.props.match.params.id;

2、query 传参

query 方法:参数地址栏不显示,刷新地址栏,参数丢失

路由页面:

<Route path="/demo" component="{Demo}"></Route> //无需配置

路由跳转并传递参数:

链接方式:

<Link to={{path:'/demo',query:{name:'dahuang'}}}>XX</Link>

js 方式:

this.props.history.push({ pathname: "/demo", query: { name: "dahuang" } });

获取参数:

this.props.location.query.name;

3、state 传参( 同 query 差不多,只是属性不一样,而且 state 传的参数是加密的)

state 方法:参数地址栏不显示,刷新地址栏,参数不丢失

路由页面:

<Route path="/demo" component="{Demo}"></Route> //无需配置

路由跳转并传递参数:

链接方式:

 <Link to={{path:'/demo',state:{name:'dahuang'}}}>XX</Link>

js 方式:

this.props.history.push({ pathname: "/demo", state: { name: "dahuang" } });

获取参数:

this.props.location.state.name;

借鉴网址:
React 跳转路由传参 3 种方法和区别


文章作者: BiLiang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 BiLiang !
评论
  目录