国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

react router 4.0以上的路由應用詳解

2019-11-19 15:20:32
字體:
來源:轉載
供稿:網友

本文介紹了react router 4.0以上的路由應用,分享給大家,具體如下:

在4.0以下的react router中,嵌套的路由可以放在一個router標簽中,形式如下,嵌套的路由也直接放在一起。

<Route component={App}>  <Route path="groups" components={Groups} />  <Route path="users" components={Users}>   <Route path="users/:userId" component={Profile} />  </Route></Route>

但是在4.0以后,嵌套的路由與之前的就完全不同了,需要單獨放置在嵌套的根component中去處理路由,否則會一直有warning:

You should not use <Route component> and <Route children> in the same route

正確形式如下

<Route component={App}>  <Route path="groups" components={Groups} />  <Route path="users" components={Users}>   //<Route path="users/:userId" component={Profile} />  </Route></Route>

上面將嵌套的路由注釋掉

const Users = ({ match }) => ( <div>  <h2>Topics</h2>  <Route path={`${match.url}/:userId`} component={Profile}/> </div>) 

上面在需要嵌套路由的component中添加新的路由

一個完整的嵌套路由的例子如下

說明及注意事項

1.以下代碼采用ES6格式

2.react-router-dom版本為4.1.1

3.請注意使用諸如HashRouter之類的history,否則一直會有warning,不能渲染

import React, { Component } from 'react';import ReactDOM from 'react-dom';// import { Router, Route, Link, Switch } from 'react-router';import { HashRouter, Route, Link, Switch} from 'react-router-dom';class App extends Component { render() {  return (   <div>    <h1>App</h1>    <ul>     <li><Link to="/">Home</Link></li>     <li><Link to="/about">About</Link></li>     <li><Link to="/inbox">Inbox</Link></li>    </ul>    {this.props.children}   </div>  ); }}const About = () => ( <div>  <h3>About</h3> </div>)const Home = () => ( <div>  <h3>Home</h3> </div>)const Message = ({ match }) => ( <div>  <h3>new messages</h3>  <h3>{match.params.id}</h3> </div>)const Inbox = ({ match }) => ( <div>  <h2>Topics</h2>  <Route path={`${match.url}/messages/:id`} component={Message}/> </div>) ReactDOM.render( (<HashRouter>  <App>    <Route exact path="/" component={Home} />    <Route path="/about" component={About} />    <Route path="/inbox" component={Inbox} />  </App> </HashRouter>), document.getElementById('root'));

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 柳江县| 汉中市| 黄骅市| 霞浦县| 邮箱| 厦门市| 化隆| 通山县| 驻马店市| 赫章县| 林甸县| 宜城市| 静乐县| 金湖县| 拜城县| 太仓市| 普陀区| 固镇县| 江山市| 濮阳市| 盐亭县| 麻城市| 林甸县| 库尔勒市| 翁牛特旗| 新竹市| 罗城| 汉源县| 磴口县| 彭阳县| 太和县| 韶关市| 安新县| 婺源县| 古田县| 共和县| 花莲县| 临海市| 西藏| 南昌县| 巴青县|