Dri*_*nee 5 reactjs react-router
我想改变这个:
<Router history={browserHistory}>
<Route path='/' component={Layout}>
<Route path='signup' component={SignupPage} />
<Route path='assemblies/' component={AssemblyPages}>
<Route path='categories/' component={Categories}>
</Route>
</Route>
</Router>
Run Code Online (Sandbox Code Playgroud)
至
import AssembliesRoute from './AssembliesRoute';
<Router history={browserHistory}>
<Route path='/' component={Layout}>
<Route path='signup' component={SignupPage} />
<AssembliesRoute />
</Route>
</Router>
//AssembliesRoute.js
export default class extends compondent {
render(){
return <Route path='assemblies/' component={AssemblyPages}>
<Route path='categories/' component={Categories}>
</Route>
}
}
Run Code Online (Sandbox Code Playgroud)
基本上,我想将所有嵌套在程序集路由中的路由,并在程序集文件夹中的特定文件中处理它们,然后将这些路由返回到路由器.但是当我尝试这样做时,我找不到路线.这可能吗?
Dri*_*nee 15
React Router的问题在于你不能传递一个包装路由的组件.
因此,如果您创建一个名为AssemblyRoutes的Component来包装所有程序集,那么它将无法工作.
您可以做的是传递一个返回原始Route Components的函数,如下所示:
//AssemblyRoutes
export default function(){
return <Route ... >
}
Run Code Online (Sandbox Code Playgroud)
然后调用路由中的函数
import assemblyRoutes from 'AssemblyRoutes
<Router>
<Route>
{assemblyRoutes()}
</Route>
</Router>
Run Code Online (Sandbox Code Playgroud)
瞧,您可以将路线导入主要路线页面.
| 归档时间: |
|
| 查看次数: |
4913 次 |
| 最近记录: |