关于react 左右布局项目的路由问题(个人记录解惑)
最近在学习react,在写一个练手的左右布局后台管理的项目时候出了疑惑;就是路由的问题。个人记录解惑。
问题描述:
- 一个项目我登录成功后 这时候跳转到 一个左右布局的后台管理系统中(点击菜单右边内容变换那种) 这时路由为http://localhost:3000/index;
这个时候如果左边有首页这个菜单,怎么自动匹配到这个首页菜单对应的路由呀(这个菜单对应的路由地址为啥非要也写index呢)
- 其他的菜单地址 为啥非要写为 /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