路线的顺序是否重要?

时间:2017-01-12 17:52:54

标签: reactjs react-router

我有以下路线。

<Route path='/route/:id/other' component={MyLayout} >
    <IndexRoute component={Form} />
    <Route path='me' component={Form} />
    <Route path='nothing' component={NothingComponent} />
    <Route path='something' component={SomethingComponent} />
</Route>

MyLayout内部组件中,我使用childRoutes来获取流的当前步骤编号,使用以下内容完成。

routes[0].childRoutes.forEach((route, index) => { 
    if (route.path === currentStep) { 
        currentStep = index + 1;
    } 
});

然后我用它来显示这种格式1 of 3的消息,其中1指定步骤并由上面的脚本生成。现在,它会考虑childRoutes的顺序并显示无效结果,例如2 of 3代替1 of 3

路线的顺序是否会影响这个?

0 = <Route path='me' ...

1 = <Route path='nothing' ...

2 = ...

1 个答案:

答案 0 :(得分:0)

事实证明,编写路线的顺序反映了渲染时路线列表中添加的顺序。

<Route path='/route/:id/other' component={MyLayout} >
    <IndexRoute component={Form} />
    <Route path='me' component={Form} />                       = 0
    <Route path='nothing' component={NothingComponent} />      = 1
    <Route path='something' component={SomethingComponent} />  = 2
</Route>