Route V5
基于HashRouter「也可以使用BrowserRouter包裹起来」吧所有要渲染的内容包起来,开启HASH路由 + 开启后,整个页面地址会默认设置一个#/的哈希值
Link标签实现路由切换跳转 + 最后渲染结果是a标签,但是好处是他会根据路由模式,自动设置点击A切换的方法
路由容器 Route
- 每次页面加载完毕或者切换,都会根据当前的哈希值,到Route中进行匹配,把匹配到的组件放到容器中渲染 + 如果在容器中将component替换成render的话,当路由地址匹配成功会先执行render函数,函数执行的返回值,是我们需要渲染的内容,基于此,我们可以在这个render函数中进行一些处理,比如登陆态的校验
路由地址匹配的规则「/和/xxx,算是地址中的一个整体,或句话说就是一个/和他后面的内容代表一个整体」 + 默认非精准匹配{会导致下面的那种,b、c页面成功匹配都会在匹配一个a,因为都包含一个a的/地址} + 页面地址和路由地址一样,返回true + 页面地址中,包含一套完整的路由地址,返回true + 其他都是false + 精准匹配 + 页面地址中,包含一套完整的路由地址,返回true
通过Switch标签将路由容器包起来,可以确保路由中只要有一项匹配成功,就不会在继续向下匹配了 exact:设置匹配模式为精准匹配
path:如果不写或者值是*,就表示如果以上都不匹配,就执行这个规则
Redirect是重定向,from表示从哪个地址来{如果不写就是任意地址},to就是定向到哪个地址,exact在这里是对from地址进行修饰,开启精准匹配