exact是Route的一個屬性轨蛤,認為其是一種嚴格匹配模式
當exact為false時晨汹,根據(jù)路由匹配所有組件,例如/a/b/c 能匹配到/桃漾、/a坏匪、/a/b、/a/b/c 且匹配還是按順序的
例如路由設(shè)置的前后順序為:
1./ 呈队;
2. /a剥槐;
3. /a/b ;?
4./a/b/c
且前3個路徑都沒有設(shè)置?exact,這樣前3個組件都會被渲染并且默認將2當作1的子頁面宪摧,3當作2的子頁面
當exact為true時粒竖,例如/被設(shè)置exact=true ,那么’/home‘則無法匹配到’/‘几于,因為’/‘無法被渲染蕊苗;若’/home‘是’/‘子頁面,那么獲取的效果’/home‘會是一個空白頁
再如:‘/’路徑下有兩個子頁面沿彭,為了保證子頁面正常顯示沒有將‘/’的exact設(shè)置為true朽砰,加上一個獨立頁面‘/login’ 此時‘/login’若配置在‘/’后,
則會渲染‘/’頁面喉刘,而‘/login’被視為‘/’的組件也沒有被渲染瞧柔,此時更換位置,將‘/login’配置在‘/’之前睦裳,則先匹配到‘/login’進行渲染
實際應用中設(shè)置該屬性造锅,取決于頁面的構(gòu)造。
1.若一個頁面中沒有嵌套其他子頁面廉邑,大可將其設(shè)置為exact=true哥蔚,它不會影響其他的獨立頁面
2.若一個頁面嵌套了子頁面,則不能將exact=true 蛛蒙,否則子頁面的父頁面不能渲染導致頁面為空糙箍,且路徑設(shè)置時注意父頁面為’/home‘,子頁面的路徑為’/home/about‘牵祟,若設(shè)置成'/about'也會因匹配不到'/home'導致渲染為空