以前用 react-router V2 版,路由嵌套这么写是没问题的:
目的:访问不同的 path 都会加载 Main_page 组件,根据不同的 path 会在 Main_page 组件里分别渲染 Abstract 或 React_tutorial 等这些子组件, Main_page 组件里通过 props children 即可引用这些子组件。
但是现在升级到 V4 版之后,就玩不成了,请教下 V4 版要实现上述目的该怎么办?
以前用 react-router V2 版,路由嵌套这么写是没问题的:
目的:访问不同的 path 都会加载 Main_page 组件,根据不同的 path 会在 Main_page 组件里分别渲染 Abstract 或 React_tutorial 等这些子组件, Main_page 组件里通过 props children 即可引用这些子组件。
但是现在升级到 V4 版之后,就玩不成了,请教下 V4 版要实现上述目的该怎么办?
谢谢邀请 技术栈未使用react,建议试下react-router v4的Switch是不是能解决你的问题
参考http://blog.csdn.net/sinat_17...
示例代码:
ReactDOM.render((
<Router history={hashHistory}>
<Switch>
<Route path="/" exact component={HomePage}/>
<Route path="/user/add" component={UserAddPage}/>
<Route component={NoMatch}/>
</Switch>
</Router>
), document.getElementById('root'));
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
3 回答837 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
4.x的写法挺容易理解的
这样的三个组件、没有用到exact、如果你的路由是/about、在展示Home组件的同时、会展示About组件、
home就可以作为最外层使用
如果使用exact、可以自己试一下、每一个路由都是独立的
如果是嵌套
Home.tsx
如果想要更深的嵌套、只需要在About中再加入<Route>元素就行了