日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

react-router 从 v2/v3 to v4 迁移(翻译)

發(fā)布時(shí)間:2025/5/22 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 react-router 从 v2/v3 to v4 迁移(翻译) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

react-router v4 是完全重寫(xiě)的,所以沒(méi)有簡(jiǎn)單的遷移方式,這份指南將為您提供一些步驟,以幫助您了解如何升級(jí)應(yīng)用程序。

注意:?這份遷移指南適用于react-router v2和v3,但為簡(jiǎn)潔起見(jiàn),對(duì)以前版本的引用僅提及v3。

  • The Router
  • Routes
    • 路由嵌套
    • on* 屬性
    • Switch

The Router

在react-router v3中,僅有一個(gè)<Router>?組件,需要提供 history 對(duì)象作為他的屬性 (prop)。

此外,您可以使用?routes?作為?<Router>?的屬性 (prop) 或者作為?children?的方式來(lái)定義程序的路由結(jié)構(gòu)。

// v3 import routes from './routes' <Router history={browserHistory} routes={routes} /> // or <Router history={browserHistory}> <Route path='/' component={App}> // ... </Route> </Router>

使用 react-router v4,一個(gè)最大的改變就是可以有很多不同的 router 組件,每個(gè) router 組件都會(huì)為您創(chuàng)造出一個(gè)?history?對(duì)象,<BrowserRouter>?會(huì)創(chuàng)建 brower history,<HashRouter>?會(huì)創(chuàng)建 hash history,<MemoryRouter>?會(huì)創(chuàng)建 memory history。

在v4中,沒(méi)有集中的路由配置。任何需要根據(jù)路由渲染內(nèi)容的地方,您只需渲染一個(gè)?<Route>?組件。

// v4 <BrowserRouter><div><Route path='/about' component={About} /> <Route path='/contact' component={Contact} /> </div> </BrowserRouter>

有一點(diǎn)需要注意的就是 router 組件只能被賦予一個(gè)子元素

// yes <BrowserRouter><div><Route path='/about' component={About} /> <Route path='/contact' component={Contact} /> </div> </BrowserRouter> // no <BrowserRouter> <Route path='/about' component={About} /> <Route path='/contact' component={Contact} /> </BrowserRouter>

Routes

在 v3,<Route>?并不是一個(gè)組件,相反,您程序中所有的<Route>?元素僅用于創(chuàng)建路由配置對(duì)象。

/// in v3 the element <Route path='contact' component={Contact} /> // 相當(dāng)于 {path: 'contact', component: Contact }

使用 v4,您可以像常規(guī)的 React 程序一樣布局您應(yīng)用中的組件,您要根據(jù)位置(特別是其?pathname?)呈現(xiàn)內(nèi)容的任何位置,您將呈現(xiàn)?<Route>

在 v4,<Route>?其實(shí)是一個(gè)組件,所以無(wú)論你在哪里渲染?<Route>,它里面的內(nèi)容都會(huì)被渲染。當(dāng)?<Route>?的?path?與當(dāng)前的路徑匹配時(shí),它將會(huì)渲染?component,?render, or?children?屬性中的內(nèi)容,當(dāng)?<Route>?的?path?與當(dāng)前的路徑不匹配時(shí),將會(huì)渲染?null

路由嵌套

在 v3 中,<Route>?組件是作為其父?<Route>?組件的?children?嵌套其中的。

<Route path='parent' component={Parent}> <Route path='child' component={Child} /> <Route path='other' component={Other} /> </Route>

當(dāng)嵌套的?<Route>?匹配時(shí),react 元素將會(huì)使用子?<Route>?和 父?<Route>?的?component?屬性去構(gòu)建,子元素將作為父元素的?children?屬性。

<Parent {...routeProps}> <Child {...routeProps} /> </Parent>

使用 v4,子?<Route>?應(yīng)該由父?<Route>?呈現(xiàn)。

<Route path='parent' component={Parent} /> const Parent = () => ( <div> <Route path='child' component={Child} /> <Route path='other' component={Other} /> </div> )

on*?屬性

react-router v3 提供?onEnter,?onUpdate, and?onLeave?方法。這些方法本質(zhì)上是重寫(xiě)(覆蓋)了 react 生命周期方法

使用 v4,你將會(huì)使用生命周期方法 通過(guò)?<Route>?渲染的組件,你可以使用?componentDidMount?或?componentWillMount?代替?onEnter,你可以使用?componentDidUpdate?或者?componentWillUpdate?(更或者?componentWillReceiveProps) 代替?onUpdate,你可以使用?componentWillUnmount?代替?onLeave。

<Switch>

在v3中,您可以指定一些子路由,并且只會(huì)渲染匹配到的第一個(gè)。

// v3 <Route path='/' component={App}> <IndexRoute component={Home} /> <Route path='about' component={About} /> <Route path='contact' component={Contact} /> </Route>

v4 通過(guò)?<Switch>?組件提供了相似的功能,當(dāng)?<Switch>?被渲染時(shí),它僅會(huì)渲染與當(dāng)前路徑匹配的第一個(gè)子?<Route>。

// v4 const App = () => (<Switch><Route exact path='/' component={Home} /> <Route path='/about' component={About} /> <Route path='/contact' component={Contact} /> </Switch> )

總結(jié)

以上是生活随笔為你收集整理的react-router 从 v2/v3 to v4 迁移(翻译)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产99免费视频 | 久久东京 | 婷婷丁香综合网 | 五十路中出| 制服丝袜在线一区 | 一区二区三区四区视频 | 亚洲视频六区 | 日韩r级在线观看 | 精品人妻一区二区三区免费 | 一个色综合网 | 一本色道久久hezyo无码 | 老熟妇精品一区二区三区 | 日本理论片在线 | 国产三级视频 | 亚洲国产精品女人久久久 | 天堂中文在线网 | 亚洲涩综合| www.黄在线观看 | 熟妇高潮精品一区二区三区 | 成都电影免费大全 | 高h捆绑拘束调教小说 | 国产精品久久久久毛片软件 | 1024亚洲| 午夜一区二区视频 | 国产一区二区视频在线观看免费 | 四级毛片 | 中文一区二区在线 | 91精品啪在线观看国产线免费 | 在线观看免费视频一区二区 | 亚洲人成人无码网www国产 | 天天摸天天 | 老司机午夜av | 日本三级吹潮 | 7x7x7x人成影视 | 日韩午夜一区 | 亚洲精品一区二区潘金莲 | 色先锋资源网 | 亚洲激情一区 | 夜夜爽妓女8888视频免费观看 | 操一操av| 国产精品久久欧美久久一区 | 国产午夜成人久久无码一区二区 | 美日韩精品 | 亚洲激情黄色 | 黄色aaa | gv天堂gv无码男同在线观看 | 欧美 日韩 国产精品 | 免费在线观看黄色av | 久久精彩视频 | 亚洲精品久久久久久久久久吃药 | 蜜桃视频欧美 | 欧美在线xxxx | 精品一区二区三区四区五区 | 在线观看黄色av | 奇米网一区二区 | 污片网址| 成人区人妻精品一熟女 | 91免费视频播放 | 影音先锋中文字幕人妻 | 不卡福利视频 | 天降女子在线观看 | 蜜桃视频一区 | 日本不卡一区 | 欧美久久久久久久久久久久 | 在线操| 成人免费在线观看 | 一区二区成人av | 国产xxxxx在线观看 | 国产精品黄网站 | 国产一区久久久 | 中文字幕av一区 | 97超碰碰碰 | 免费草逼网站 | 国产第9页 | 久久久99国产精品免费 | 精品熟女一区二区三区 | 天天狠狠 | 男人插女人视频网站 | 人妻妺妺窝人体色www聚色窝 | 伊人影院在线观看视频 | 国产成人高清 | 国产女同91疯狂高潮互磨 | 欧美国产大片 | 在线观看国产免费av | 欧美一区二区三区激情啪啪 | 欧美无专区 | 精品日韩在线 | 91丝袜国产在线观看 | 国产熟女一区二区三区五月婷 | 久久久精品国产免费爽爽爽 | 国产黄色一级 | 亚洲黄色精品 | 熟女少妇在线视频播放 | 欧美激情一区二区三区 | 日韩三级视频 | 麻豆乱淫一区二区三区 | 日韩二区三区四区 | 激情av网 | aa爱做片免费 |