【发布时间】:2016-02-25 23:10:38
【问题描述】:
我有 3 层深度的嵌套路由,但我无法渲染上一条路由的组件。这就是我构建路线的方式:
<Provider store={store}>
<Router history={browserHistory}>
<Route path="/login" component={Login} />
<Route path="/" name="test" component={requireAuthentication(App)}>
<Route path="/modules" name="Modules" component={Modules}>
<Route path="virtual-inputs" name="Virtual Inputs" component={VirtualInput}>
<Route path="add" name="Add new virtual input" component={AddVirtualInput}/>
</Route>
</Route>
</Route>
</Router>
</Provider>
当我转到 modules/virtual-inputs/add 时,我会渲染我的组件 VirtualInput。
我使用 this.props.children 在模块内渲染我的子组件,但是如何在转到 /modules/virtual-inputs/add 时渲染我的组件 AddVirtualInput?
我已经在另一个线程 (https://stackoverflow.com/a/33690586/846326) 上看到另一个解决方案是让我的路线像这样:
<Route path="/modules" name="Modules" component={Modules}>
<Route path="virtual-inputs" name="Virtual Inputs" component={VirtualInput}/>
<Route path="virtual-inputs/add" name="Add new virtual input" component={AddVirtualInput}/>
</Route>
这是这样做的方法吗,意味着我们不能再往前走 2 级?
【问题讨论】:
标签: javascript reactjs react-router