- Link必须要在Router内,不能放在外面,否则会报错。所以写的时候要这么写。
// index.js
<BrowserRouter>
<HomeLayout/>
</BrowserRouter>
...
// HomeLayout.js
<SubMenu key="sub1" title={<span><Icon type="user" />subnav 1</span>}>
<Menu.Item key="1">
<Link to="/">Home</Link>
</Menu.Item>
<Menu.Item key="2">
<Link to="/app">App</Link>
</Menu.Item>
</SubMenu>
- 开始的时候这么写Route发现进入/app时Home的内容没有消失
<Route exact path="/" component={Home}></Route>
<Route path="/app" component={App}></Route>
后来查了查资料改为这么写就好了
<Switch>
<Route exact path="/" component={Home}></Route>
<Route path="/app" component={App}></Route>
</Switch>
原因可以看http://blog.csdn.net/sinat_17775997/article/details/77411377?locationNum=8&fps=1中的Inclusive Routing部分。