react_路由的使用

1.第一部分是路由的出口 这里一定要用BrowserRouter包裹住

import { Redirect, Route, Switch } from 'react-router'
import { BrowserRouter } from 'react-router-dom';

<Content>
    <BrowserRouter>
        <Switch>
            <Route path='/studentMain/studentMain/recruit' component={Recruit}></Route>
            <Route path='/studentMain/studentMain/toCompany' component={ToCompany}></Route>
            <Route path='/studentMain/studentMain/recProgress' component={RecProgress}></Route>
            <Route path='/studentMain/studentMain/resume' component={Resume}></Route>
            <Redirect to='/studentMain/studentMain' />
        </Switch>
    </BrowserRouter>
</Content>

2.第二部分是路由的入口 一定要用Router包裹 这个Router其实也是BrowserRouter

import { Link, BrowserRouter as Router } from 'react-router-dom';

   return (

            <Router>
                <Menu>
                    {this.list}
                </Menu>
            </Router>

        );

注意:使用BrowserRouter时,那么这个时候服务端拿到的是完整的 URL,这时候服务端就必须分别对 /home 和 /about 做处理并返回相应的 HTML 来给到客户端渲染。这个带来的影响就是,如果你切换到某个服务端没有做相应处理的页面路由,如果你在 SPA 中写了这部分路由要渲染的页面,在页面无刷新情况下跳转是没啥问题的。但是如果你直接在此路由下进行页面的刷新,就会得到一个 404。
但是使用HashRouter,HashRouter 在 URL 中使用哈希符号(#)来使服务端忽略 # 后面所有的 URL 内容。服务端拿到的只会是http://example.com/,这样服务端只需要对这个路由做处理并返回 HTML,然后后面的路由 /home 或 /about 将全部交给客户端(也就是我们的 SPA 应用)来处理并渲染对应的页面。所以你在任意的路由进行页面的刷新都不会是 404。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值