import React from "react";
import { BrowserRouter as Router, Route, Link } from "react-router-dom";
import Test from './Test'
function MainRouter() {
return (
<Router>
<div>
<ul>
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/about">About</Link>
</li>
<li>
<Link to="/topics">Topics</Link>
</li>
</ul>
<hr />
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
<Route path="/topics" component={Topics} />
</div>
</Router>
);
}
function Home() {
return (
<div>
<h2>Home</h2>
</div>
);
}
function About() {
return (
<div>
<h2>About</h2>
</div>
);
}
function Topics({ match }) {
return (
<div>
<h2>Topics</h2>
<ul>
<li>
<Link to={`${match.url}/rendering`}>Rendering with React</Link>
</li>
<li>
<Link to={`${match.url}/components`}>Components</Link>
</li>
<li>
<Link to={`${match.url}/props-v-state`}>Props v. State</Link>
</li>
<li>
<Link to={`${match.url}/test`}>测试路由</Link>
</li>
</ul>
<Route path={`${match.path}/:url`} component={Topic} />
<Route
exact
path={match.path}
render={() => <h3>Please select a topic.</h3>}
/>
</div>
);
}
function Topic({ match }) {
console.log(match.params.url)
switch(match.params.url){
case 'test':
return (<Test></Test>)
default :
return (
<div>
<h3>{match.params.url}</h3>
</div>
);
}
}
export default MainRouter;
react嵌套路由
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- AppNavigator 的header给隐藏掉,先给每一个控制器加上导航栏在隐藏TabNavigator 的导航栏
- 解决方法:去 node_modules/react-navigation/src/views/Header/Hea...
- 解决使用react-navigation (嵌套路由)标题栏设置title空白方案: 加在定义Tab处。 完整的定义:
- 之前公司一直是用node服务器来对react打包后的项目进行服务器部署的,最近有后台小伙伴问可以将打包后的文件丢到...