React-Router无法创建子路由
问题描述:
也许有人知道我为什么可以创建子路由 我的代码。React-Router无法创建子路由
<Provider store={store}>
<Router history={history}>
<Route path="/" component={Main} >
<IndexRoute component={Home} />
<Route path="performance" component={Performance} />
<Route path="home" component={Home} >
<Route path="alert" component={Performance} />
</Route>
</Route>
</Router>
</Provider>
// ...
// imports
import Main from './Main'
import Performance from './performance/PerformanceComponent'
import Home from './home/HomeComponent'
import {Router, Route, IndexRoute} from 'react-router'
import {Provider} from 'react-redux'
我不能去这个地址 - > /首页/警报
,并有这样的错误控制台
alert:11 GET http://0.0.0.0:3001/home/css/style.css
alert:12 GET ...home/css/home.css
alert:13 GET ...home/css/detailsView.css
alert:26 GET ...home/bundle.tvc.js
我的意思是,如果我写错了地址,我有特殊的错误
Warning: [react-router] Location "/homealert" did not match any routes
我不知道该如何修复它。先谢谢你!
答
如果您想要Performance
组件在/home/alert
上呈现,则需要此选项。您需要在每个匹配的Route
s上指定完整路径。
<Route path="/" component={Main} >
<IndexRoute component={Home} />
<Route path="/performance" component={Performance} />
<Route path="/home" component={Home} >
<Route path="/home/alert" component={Performance} />
</Route>
</Route>
嵌套路径适用于组件,而不适用于路径。你的应用程序将呈现如下的/home/alert
:
<Main>
<Home>
<Performance>
你说,使用在'警报的/ home /警报结果:11 GET http://0.0.0.0:3001/home/css/style.css。 ..'在控制台中的错误,但使用/ homealert导致'警告:[react-router]位置“/ homealert”在控制台中与任何路由错误不匹配? –
是的。这很奇怪 –