• react路由


    针对多个列表导航公用一个组建,然后 有两种路由方式

    1.import {HashRouter as Router,Route,Link} from 'react-router-dom'

    不过这个路由中会有#并且开发时会遇到错误,但是上线就没了。

    在最外面包裹的此时就是<HashRouter>

    2.import {BrowserRouter,Route,Link} from 'react-router-dom'

    这种是最好的,

    2021年1月27号:

    实现的功能  1,进去界面就有/web/app  2,切换路由的时候精确的匹配,比如/web/app/home/1这样是不行的,/web/app/home这样是可以的。

    最近写散装react路由的时候发现:

    比如我们看公司的成型项目的时候往往他会有个根路径 比如:/web/app

    但是我们在看散装路由配置的时候并未发现里面写了任务关于/web/app,其实这里有个basename,

    其实我们写散装路由的时候无外乎就是这种形式

    <Router >
          <App />  //这里的App组件肯定是要往里面传props,不然的话,我们就只能更改App组件为<Route>开始散装路由了,大概就这两种方案,
     </Router>
    其实我们的Router 上面是可以放history ,而App组件不需要传props    这种方案也是可行的,当然这种方案也是设置basename的绝佳方案
    那么形式如下

     这样我们在App组件里面的路由是可以跳了的,但......App里面的this.props.history还是没有值,这时我们在App组件里采用withRouter包裹下App,

    withRouter看源码知道,他返回的就是这个组件App但是她把react-router-dom 的history,match,location  和这个组件的props合并了,大概是这个意思,不要在意具体的细节方面,他得方案就是合并props,

    那我们在App组件里面就可以通过this.props.history拿到东西了,首先要做的当然是让basename出现,this.props.history.replace()

    componentDidMount(){
        // console.log(this.props.history)
        this.props.history.replace('/web','','')
      }
    其次就是我们的散装路由了,其实我们把路由文件分类出去的时候她也会做一件事,那就是所有的路由都是exact不信你去看看你们的项目
    接下来就是我们的主角出场了
    <Switch>
           <Route exact path="/" component={Home}></Route>
           <Route exact path='/home' component={Home} />
           <Route exact path='/about' render={(props)=><About {...props}></About>} />
           <Redirect to="/"></Redirect>
    </Switch>
     
    看下效果图吧。这是第一次进入界面的时候,

    这里componentDidMount可以帮助我们实现初始化/web/app的效果,但是实际上我们都是利用是否登陆来做的。

     此外这个功能当我们切换/home/123的时候就可以跳到/home,因为本身这块比较乱,所以建议读者结合来看这篇文章,批判性的去看。

    最后总结下:

    1,所有的Route里面都要有exact属性,才能实现/home/123重定向  ,/home才是对的,/home/123是自己输入的不符合。把不符合都给over掉

    2,basename可以实现路由的跟路径/web/app始终都在

    3,withRouter的作用 ,合并props,使App组件可以拿到this.props.history

    4,  我们常常在一进界面就可以看到/web/app实际上使路由replace之后的结果,我们常常在登陆的逻辑里面实现的

    文章较乱。耐心去看

  • 相关阅读:
    CUDA 纹理内存
    CUDA三维数组
    cutil.h问题
    GPU和CPU耗时统计方法
    NVIDIA CUDA Library Documentation
    device not ready cuda
    送给女朋友的礼物
    手机屏幕录制软件分享
    统计函数运行时间-CPU端
    二十四孝,图文并茂,古今必读!
  • 原文地址:https://www.cnblogs.com/MDGE/p/10371385.html
Copyright © 2020-2023  润新知