2015-11-16 3 views
0

Я не могу получить несколько «главных» представлений для работы с маршрутами при использовании реактивного маршрутизатора. Вот мои маршруты config:Несколько главных видов с реактивным маршрутизатором

const routes = (
    <Route path="/" component={AppView}> 
    <Route path="/log-in" component={LogInView}/> 
    <IndexRoute component={MainView}> 
     <IndexRoute component={HomeView} /> 
     <Route path="company" component={CompanyView} /> 
     <Route path="clients" component={ClientsView} /> 
     <Route path="terms-of-service" component={TermsOfServiceView} /> 
     <Route path="privacy-policy" component={PrivacyPolicyView} /> 
     <Route path="contact" component={ContactView} /> 
    </IndexRoute> 
    </Route> 
); 

Любые мысли, как я могу заставить это работать?

+0

'IndexRoute' является маршрут листьев, вы не может ничего в ней встраивать. Ознакомьтесь с примером auth-flow в репо повторного маршрутизатора. То, что вы хотите сделать, это использовать 'onEnter', чтобы проверить, не зарегистрирован ли кто-либо. – knowbody

+0

knowbody oh ok - ну, кроме страницы входа в систему, я также хочу иметь другие страницы, я просто удалил их из этого, чтобы проиллюстрировать проблему. Вы знаете, есть ли способ сделать эту работу? Я мог бы использовать вместо IndexRoute с response-router 0.13 –

+0

Я определенно рекомендую вам использовать 1.0 final, поскольку мы отказались от поддержки 0.13.x (больше не будет выпусков для 0.13.x) , Возьмите меня на http://www.reactiflux.com/ Я могу объяснить, как вы можете делать то, что вы пытаетесь сделать. – knowbody

ответ

1

Благодаря knowbody решения было довольно просто, просто удалите атрибут пути от элемента верхнего уровня маршрута и изменить IndexRoute к нормальному пути для MainView:

const routes = (
    <Route component={AppView}> 
    <Route path="/log-in" component={LogInView} /> 
    <Route path="/" component={MainView}> 
     <IndexRoute component={HomeView} /> 
     <Route path="company" component={CompanyView} /> 
     <Route path="clients" component={ClientsView} /> 
     <Route path="terms-of-service" component={TermsOfServiceView} /> 
     <Route path="privacy-policy" component={PrivacyPolicyView} /> 
     <Route path="contact" component={ContactView} /> 
    </Route> 
    </Route> 
);