摘要:使用了約等于才能匹配或者能匹配,所以說(shuō)是約等于。使用了和才能匹配后續(xù)補(bǔ)充這是版本中新添加,主要用來(lái)做唯一匹配的功能。就是想要在眾多路由中只匹配其中一個(gè)路由。
React-Router v4 一. Switch 、Router 、Route三者的區(qū)別
Route 是建立location 和 ui的最直接聯(lián)系
react-router v4 中,Router被拆分成了StaticRouter、MemoryRouter、BrowserRouter、HashRouter、NativeRouter。
import { Router } from "react-router" import createBrowserHistory from "history/createBrowserHistory" // const history = createBrowserHistory()
A
這里新增strict 和 exact
使用了strict location 大于等于path才能匹配,eq path="/one" location="/one/a"能匹配。
使用了exact location 約等于 path 才能匹配,eq path="/one" location="/one"或者 "/one/"能匹配,所以說(shuō)是約等于。
使用了exact 和 strict location = path才能匹配
這是v4版本中新添加,主要用來(lái)做唯一匹配的功能。就是想要在眾多路由中只匹配其中一個(gè)路由。
二、v4 版本中路由應(yīng)該如何配置呢?1.基本配置(這個(gè)和v3中基本一致,效果也基本一樣)
匹配 <= location eq.( /b => / + /b ) ( / => / )
2.含Switch 配置
匹配 <= location eq.( /b => /b ) ( / => / ) 唯一匹配
問(wèn)題(三個(gè)問(wèn)題)//這里用exact,僅僅是擔(dān)心location被 path="/"截胡了。
第一種方式
第二種方式(父子嵌套)
{/* {app()} */}
const Parent = ({ match }) => ();
這種情況 bContainer就是是公用的Component
另一篇文章
npm install --save react-router-config
第一步 配置路由
const routes = [ { component: bContainer, routes: [ { path: "/", exact: true, component: bContainer }, { path: "/b/b", component: bContainer, routes: [ { path: "/b/b/b", component: bContainer } ] } ] } ]
第二步 設(shè)置路由
{renderRoutes(routes)}
第三步 需要在container的render中去調(diào)用方法
1111 {renderRoutes(this.props.route.routes)}
這個(gè)優(yōu)勢(shì)是可以統(tǒng)一配置,劣勢(shì)是需要在container中統(tǒng)一調(diào)用,但是這個(gè)抽出來(lái)統(tǒng)一實(shí)現(xiàn),問(wèn)題也不大,并且還可以解決 問(wèn)題一。
這個(gè)renderRoutes實(shí)際是就是用一層Switch和多個(gè)Route來(lái)包了一層。
?
?
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/84615.html
摘要:詳見(jiàn)對(duì)綁定監(jiān)聽(tīng)事件,把的改變同步到的中用來(lái)把的更新同步到中。代碼分割版本通過(guò)和實(shí)現(xiàn)代碼分割和動(dòng)態(tài)路由。筆者認(rèn)為,更符合的組件思想,于是做了一個(gè)實(shí)踐。 原文:https://github.com/YutHelloWo... 前言 今年3月初發(fā)布了react-router v4,相較之前的v3和v2版本做了一個(gè)破壞性的升級(jí)。遵循一切皆React Component的理念。靜態(tài)路由變成了動(dòng)態(tài)...
摘要:前言最近將公司項(xiàng)目的從版本升到了版本,跟完全不兼容,是一次徹底的重寫(xiě)。升級(jí)過(guò)程中踩了不少的坑,也有一些值得分享的點(diǎn)。沒(méi)有就會(huì)匹配所有路由最后不得不說(shuō)升級(jí)很困難,坑也很多。 前言 最近將公司項(xiàng)目的 react-router 從 v3 版本升到了 v4 版本,react-router v4 跟 v3 完全不兼容,是一次徹底的重寫(xiě)。這也給升級(jí)造成了極大的困難,與其說(shuō)升級(jí)不如說(shuō)是對(duì) route...
摘要:中的包中的包主要有三個(gè)和。的理念上面提到的理念是一切皆組件以下統(tǒng)一稱組件。從這點(diǎn)來(lái)說(shuō)的確方便了不少,也迎合一切皆組件的理念。組件是中主要的組成單位,可以認(rèn)為是或的路由入口。將該標(biāo)示為嚴(yán)格匹配路由。的屬性追加一條。 2019年不知不覺(jué)已經(jīng)過(guò)去19天了,有沒(méi)有給自己做個(gè)總結(jié)?有沒(méi)有給明年做個(gè)計(jì)劃?當(dāng)然筆者已經(jīng)做好了明年的工作、學(xué)習(xí)計(jì)劃;同時(shí)也包括該系列博客剩下的博文計(jì)劃,目前還剩4篇:分別...
摘要:概述相對(duì)于幾乎是重寫(xiě)了新版的更偏向于組件化。汲取了很多思想,路由即是組件,使路由更具聲明式,且方便組合。如果你習(xí)慣使用,那么一定會(huì)很快上手新版的。被一分為三。不止是否有意義參考資料遷移到關(guān)注點(diǎn)官方文檔 概述 react-router V4 相對(duì)于react-router V2 or V3 幾乎是重寫(xiě)了, 新版的react-router更偏向于組件化(everything is comp...
摘要:項(xiàng)目問(wèn)題總結(jié)這個(gè)項(xiàng)目,很簡(jiǎn)單,前端使用,后端使用進(jìn)行開(kāi)發(fā)。方便移動(dòng)端開(kāi)發(fā)。當(dāng)動(dòng)畫(huà)結(jié)束后,有一個(gè)鉤子函數(shù)可以使用其他一些功能組件,都是自己嘗試去編寫(xiě)的,像日歷組件組件組件等。版本的,是沒(méi)有任何的鉤子函數(shù),我就感覺(jué)懵逼了。。。 todo-list 項(xiàng)目問(wèn)題總結(jié) 這個(gè) todo-list 項(xiàng)目,很簡(jiǎn)單,前端使用 react,后端 nodejs 使用 koa2 進(jìn)行開(kāi)發(fā)。數(shù)據(jù)庫(kù)使用 Mysql...
閱讀 3497·2021-11-12 10:36
閱讀 2877·2021-09-22 15:35
閱讀 2825·2021-09-04 16:41
閱讀 1176·2019-08-30 15:55
閱讀 3586·2019-08-29 18:43
閱讀 2081·2019-08-23 18:24
閱讀 1427·2019-08-23 18:10
閱讀 1928·2019-08-23 11:31