关于react 左右布局项目的路由问题(个人记录解惑)

react

最近在学习react,在写一个练手的左右布局后台管理的项目时候出了疑惑;就是路由的问题。个人记录解惑。 

问题描述:

  1. 一个项目我登录成功后 这时候跳转到 一个左右布局的后台管理系统中(点击菜单右边内容变换那种) 这时路由为http://localhost:3000/index;

    这个时候如果左边有首页这个菜单,怎么自动匹配到这个首页菜单对应的路由呀(这个菜单对应的路由地址为啥非要也写index呢)

  2.  其他的菜单地址 为啥非要写为 /index/a 这种呢非要以index开头呢,如果直接写为 /a 就跳到空白页了 

问题截图

    1.这是登录页面和登陆成功后左右布局的页面路由地址 

2.这是登陆时的路由代码

3.这是登陆成功后左右布局中的两个菜单的地址

4.这是两个菜单的路由地址(通过遍历写到左右布局中)

 5.登录

 6.登录成功

 后来我想通了,虽然不确定我想的对不对,但是我觉得就是这个道理。

<Route> 这个标签跟 Vue中的<router-view>相同。 都相当于一个容器,通过路由匹配进行展示。

登录流程为 login > index 其中这个index指的是登录后路由地址(左右布局的地址);这个index 注册在routes文件中;

登陆成功后,因为我们左右布局中存在<Route> 这个标签 所以路由会自动匹配合适的路由地址,并将其显示出来;

这个时候路因为地址为index,而这个index既跟我们util中注册的首页路由地址相符又和左右布局的地址相符,所以既显示左右布局,又在左右布局中匹配了首页的内容;

至于为什么左侧菜单都需要以index开头,是因为需要保持左右布局;因为左右布局这个页面的路由为index,而这个左右布局的index路由的匹配规则中没有 exact (没有去精确匹配),正是因为没有去做精确匹配,所以才让其内容和左右布局进行了同时展示;其实就是一个路由匹配到了多个<route>;

以上是 关于react 左右布局项目的路由问题(个人记录解惑) 的全部内容, 来源链接: utcz.com/z/383046.html

回到顶部