React Router 的两种方式

本文详细介绍了React Router的两种使用方式:混合标签与抽离router控制。通过实例展示了如何利用HashRouter进行路由配置,包括主路由与子路由的设置,以及在不同场景下使用exact属性的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

组建router的方式 分为两种:

     1:  混合标签,就是 和其他标签 嵌套混合着来; 

     2:抽离router 单独控制;

 

先说第一种:

 <HashRouter>
                <div>
                    <ul>
                        <li>
                            <Link to="/">main</Link>
                        </li>
                        <li>
                            <Link to="/about">about</Link>
                        </li>
                        <li>
                            <Link to="/topic">topic</Link>
                        </li>
                    </ul>

                    <Switch>
                    <Route path="/"  exact component={Main} />
                    <Route path="/about" component={About} />
                    <Route path="/topic" component={Topic} />

                    </Switch>
                </div>
            </HashRouter>

其他子组件里也可以嵌套route;

需要注意 根节点需要 exact精准匹配正则 ;其次节点如果需要 也需要精准匹配;

2,抽离

<HashRouter>
            <Home>
                <Switch>
                    <Route path="/main"  render={()=><Main>
                        <Route  path="/main/a" component={About} />
                    </Main>} />
                <Route path="/about"  component={About} />
                <Route path="/topic" component={Topic} />
                </Switch>
            </Home>
        </HashRouter>

所有的 route都写在一个页面 不混着来,这样方便我们做分配  ; 子组件里 用 {this.props.children} 来渲染route 

需要注意  的是最好不要用 “/” 根节点,这样就不用精准匹配了exact (否则子路由进不来), 如果真的需要精准匹配   路由的末端再去精准匹配好了; 

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值