2017-02-22 5 views
1

Может быть, кто-нибудь знает, почему я могу создавать подпрограммы Мой код.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

Я не имею ни малейшего представления, как я должен это исправить. Заранее спасибо!

+0

вы говорите, что использование/дома/Уведомления результатов в 'предупреждения: 11 GET http://0.0.0.0:3001/home/css/style.css. ..' в консоли, но с использованием/homealert результаты в 'Warning: [response-router] Местоположение«/homealert »не соответствует ошибкам маршрутов в консоли? –

+0

да. Это очень странно –

ответ

1

Вы хотите, чтобы это сделать, если вы хотите, чтобы 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> 
Смежные вопросы