react 您所在的位置:网站首页 react路由精确匹配 react

react

2023-10-14 20:19| 来源: 网络整理| 查看: 265

exact是Route的一个属性,认为其是一种严格匹配模式

当exact为false时,根据路由匹配所有组件,例如/a/b/c 能匹配到/、/a、/a/b、/a/b/c 且匹配还是按顺序的

例如路由设置的前后顺序为:

1./ ;

2. /a;

3. /a/b ; 

4./a/b/c

且前3个路径都没有设置 exact,这样前3个组件都会被渲染并且默认将2当作1的子页面,3当作2的子页面

当exact为true时,例如/被设置exact=true ,那么’/home‘则无法匹配到’/‘,因为’/‘无法被渲染;若’/home‘是’/‘子页面,那么获取的效果’/home‘会是一个空白页

再如:‘/’路径下有两个子页面,为了保证子页面正常显示没有将‘/’的exact设置为true,加上一个独立页面‘/login’ 此时‘/login’若配置在‘/’后,

则会渲染‘/’页面,而‘/login’被视为‘/’的组件也没有被渲染,此时更换位置,将‘/login’配置在‘/’之前,则先匹配到‘/login’进行渲染

实际应用中设置该属性,取决于页面的构造。

1.若一个页面中没有嵌套其他子页面,大可将其设置为exact=true,它不会影响其他的独立页面

2.若一个页面嵌套了子页面,则不能将exact=true ,否则子页面的父页面不能渲染导致页面为空,且路径设置时注意父页面为’/home‘,子页面的路径为’/home/about‘,若设置成'/about'也会因匹配不到'/home'导致渲染为空



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有