如何路由的传值

路由传值

步骤:1.首先安装react-router-dom
2.路由传值
3.嵌套路由

1.首先安装react-router-dom

(在项目命令中,执行cnpm install react-router-dom -S)
然后再引入

import {HashRouter,Route,Link} from 'react-router-dom'
  • HashRouter表示一个路由的根容器,将来所有的路由相关的东西,都要包裹在HashRouter里面,而且一个网站中,只需要使用一次HashRouter就好了;
  • Route表示一个路由规则,在Route上,有两个比较重要的属性,path,component(path表示要匹配的路由,component表示要展示的组件)
  • Link表示一个路由的链接
    (代码实例)(一级路由)
render(){
        return (
            <HashRouter>
                <div>
                    <h1>这是网站的根目录</h1>
                    <hr />
                    <Link to="/home">首页</Link>&nbsp;&nbsp;
                    <Link to="/movie/">电影</Link>&nbsp;&nbsp;
                    <Link to="/about">关于</Link>
                    <hr />
                    <Route path="/home" component={Home} ></Route><hr/>
                    <Route path="/movie" component={Movie} exact></Route><hr/>
                    <Route path="/about" component={About}></Route><hr/>
                </div>
            </HashRouter>
        );
    }

2.路由传值

Link to 路径后面 /top/10 (写入具体的路径地址)
Route path路径后面 /:type/:id (通过参数来接收传过来的值)
通过this.props.match.proms.(参数名)来获取相对应的路径的值
(代码示例)

render(){
        return (
            <HashRouter>
                <div>
                    <h1>这是网站的根目录</h1>
                    <hr />
                    <Link to="/movie/top/10">电影</Link>&nbsp;&nbsp;
                    <hr />
                    <Route path="/movie/:type/:id" component={Movie} exact></Route>
                </div>
            </HashRouter>
        );
    }

获取路径值的代码

render(){
        return (
            <div>
                电影--{this.props.match.params.type}--{this.props.match.params.id}
            </div>
        );
    }

3.嵌套路由(多级路由)

(路由嵌套就是在原有路由的基础上再增加路由,在原有路由的页面上增添新的路由内容)
//一级路由
render(){ 
        return (
            <HashRouter>
                <div>
                    <Link to="/movie">电影</Link>&nbsp;&nbsp;
                    <hr />
                <hr/>
                    <Route path="/movie" component={A3}></Route><hr/>
                </div>
            </HashRouter>
        );
    }
}

//二级路由(实现嵌套)
render(){
    return(
        <React.Fragment>
   <div>
        <Link to='/movie/shehui'>社会</Link>
        <Route path='/movie/shehui' component={Ap}></Route>
    </div>
     </React.Fragment>
    )
}
}

(以上是对路由所做的一些总结,可供大家参考)

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值