react-router-dom入門使用教程(路由的模糊匹配與嚴(yán)格匹配)
模糊匹配
<!-- 編寫路由鏈接 --> <NavLink to="/home/a/b">Home</NavLink> <!-- 注冊路由 --> <Switch> <Route path="/home" component={Home} /> </Switch>
點擊Home,進(jìn)入路徑/home/a/b,此時模糊匹配到/home路徑的組件{Home}。
開啟嚴(yán)格匹配
<!-- 編寫路由鏈接 --> <NavLink to="/home/a/b">Home</NavLink> <!-- 注冊路由 --> <Switch> // 開啟嚴(yán)格匹配:exact={true} <Route exact path="/home" component={Home} /> </Switch>
此時,點擊Home,進(jìn)入路徑/home/a/b,無法匹配/home路徑下的{Home}組件。
1.默認(rèn)使用的就是模糊匹配(簡單記:【輸入的路徑】必須包含要【匹配的路徑】,且順序要一致。
2.開啟嚴(yán)格匹配:
// 開啟嚴(yán)格匹配:exact={true} <Route exact path="/home" component={Home} />
3.嚴(yán)格匹配不要隨便開啟,需要再開,有些時候開啟會導(dǎo)致無法繼續(xù)匹配二級路由
Redirect的使用
路由重定向
{/* 注冊路由 */} <Switch> <Route path="/about" component={About} /> <Route path="/home" component={Home} /> <Redirect to="/home" /> </Switch>
一般寫在所有路由注冊的最下方,當(dāng)所有路由都無法匹配時,跳轉(zhuǎn)到Redirect指定的路由。
嵌套路由使用
注冊子路由時要寫上父路由的path值。 => /父路由path/子路由path。
路由的匹配是按照注冊路由的順序進(jìn)行的。
src項目結(jié)構(gòu)
├─App.jsx ├─index.js ├─pages | ├─Home | | ├─index.jsx | | ├─News | | | └index.jsx | | ├─Message | | | └index.jsx | ├─About | | └index.jsx ├─components | ├─MyNavLink | | └index.jsx | ├─Header | | └index.jsx
Message是Home的子組件,News組件是Home的子組件
例如:注冊Message組件時需要加上父路由Home的path值:/home/message
<Switch> <Route path="/home/news" component={News} /> <Route path="/home/message" component={Message} /> <Redirect to="/home/news" /> </Switch>
到此這篇關(guān)于react-router-dom入門使用教程(路由的模糊匹配與嚴(yán)格匹配)的文章就介紹到這了,更多相關(guān)react-router-dom使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
React項目中fetch實現(xiàn)跨域接收傳遞session的解決方案
這篇文章主要介紹了React項目中fetch實現(xiàn)跨域接收傳遞session的解決方案,本次項目使用了react框架,同時使用fetch取代ajax作為獲取接口數(shù)據(jù)的交互方法,下面就對這次問題的解決做個總結(jié),需要的朋友可以參考下2022-04-04React超詳細(xì)分析useState與useReducer源碼
我正在處理的組件是表單的時間輸入。表單相對復(fù)雜,并且是動態(tài)生成的,根據(jù)嵌套在其他數(shù)據(jù)中的數(shù)據(jù)顯示不同的字段。我正在用useReducer管理表單的狀態(tài),到目前為止效果很好2022-11-11react+axios實現(xiàn)github搜索用戶功能(示例代碼)
這篇文章主要介紹了react+axios實現(xiàn)搜索github用戶功能,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-09-09react使用節(jié)流函數(shù)防止重復(fù)點擊問題
這篇文章主要介紹了react使用節(jié)流函數(shù)防止重復(fù)點擊問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06react項目升級報錯,babel報錯,.babelrc配置兼容等問題及解決
這篇文章主要介紹了react項目升級報錯,babel報錯,.babelrc配置兼容等問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08React中實現(xiàn)防抖功能的兩種方式小結(jié)
這篇文章主要介紹了React中實現(xiàn)防抖功能的兩種方式小結(jié),具有很好的 參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10在?React?Native?中使用?CSS?Modules的配置方法
有些前端工程師希望也能像開發(fā) web 應(yīng)用那樣,使用 CSS Modules 來開發(fā) React Native,本文將介紹如何在 React Native 中使用 CSS Modules,需要的朋友可以參考下2022-08-08