前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >测开技能--Web开发 React 学习(十七)

测开技能--Web开发 React 学习(十七)

作者头像
雷子
发布2021-03-15 12:52:13
1890
发布2021-03-15 12:52:13
举报
文章被收录于专栏:雷子说测试开发

路由跳转传参

第一种方式

代码语言:javascript
复制
<Route strict exact path="/interface/:id" component={Inteface}></Route>

我们在Interface接受下

代码语言:javascript
复制
import  React from "react";


const Inteface=(props)=>{
    console.log(props);
    return(
Inteface
)
}
export default  Inteface

我们直接打印。

没有传递参数如上,那么传递参数呢

http://localhost:3000/#/interface/1000

这样就打印出来了参数,有些人可能就说了,不传递参数也不能报404 ,可能不带参数,那么应该怎么解决呢

很简单,只需要做如下修改

代码语言:javascript
复制
<Route strict exact path="/interface/:id?" component={Inteface}></Route>

在参数后面增加一个?即可。这样,不带参数访问,也不会报404了。

多个参数传递也是可以的

代码语言:javascript
复制
<Route strict exact path="/interface/:id?/:name?" component={Inteface}></Route>

很简单就能实现了。访问下,打印正常

代码语言:javascript
复制
http://localhost:3000/#/interface?name=beijing

那么这样的我们怎么取来name 呢

代码语言:javascript
复制
const Inteface=(props)=>{
    const parans=new URLSearchParams(props.location.search)
    console.log(parans.get("name"));

    return(
        <h1>Inteface</h1>
    )
}
export default  Inteface

我们打印下

第二种读取方案:

代码语言:javascript
复制
const value=querystring.parse(props.location.search)
    console.log(value);

这样也可以读取到。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 雷子说测试开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档