Javascript 在React Router中渲染多个组件
我习惯于应用程序布局与多个收益区,即内容区和顶部栏标题。我想在React路由器中实现类似的目标。例如:Javascript 在React Router中渲染多个组件,javascript,meteor,reactjs,react-router,react-jsx,Javascript,Meteor,Reactjs,React Router,React Jsx,我习惯于应用程序布局与多个收益区,即内容区和顶部栏标题。我想在React路由器中实现类似的目标。例如: <Router> <Route path="/" component = { AppLayout }> <Route path="list" component = { ListView } topBarComponent = { ListTopBar }/> </Route> <
<Router>
<Route path="/" component = { AppLayout }>
<Route path="list"
component = { ListView }
topBarComponent = { ListTopBar }/>
</Route>
</Router>
应用布局:
{--在此处显示ListTopBar--}
{--在此处显示列表视图--}
两个子组件应接收相同的道具
如何处理此问题?要传递多个组件,可以执行以下操作:
<Route path="groups" components={{main: Groups, sidebar: GroupsSidebar}} />
<Route path="users" components={{main: Users, sidebar: UsersSidebar}}>
请参见此处的文档:
在v4中,根据,可以渲染多个组件,如下所示:
<Route path='/some-path' render={() =>
<Fragment>
<FirstChild />
<SecondChild />
</Fragment>
} />
} />
另一种方法在route的render方法中,可以使用react.createElement创建多个传递的组件
<Route render ={(props)=>React.createElement(Component1, {...props}},
React.createElement(Component2, {...props}}/>
React.createElement(Component1,{…props},
React.createElement(Component2,{…props}}/>
您可以使用片段,而不是使用div。
`
} />
`要渲染多个组件,可以执行以下操作:
<Route
path="/EditEmployee/:id"
render={(props) =>
<div>
<NavMenu />
<EditEmployee {...props} />
</div>
}
/>
}
/>
在这里,我将参数传递给特定的组件。//这是渲染多个组件的最简单方法,对我来说很有用
<Router>
<Route path="/">
<ListView />
<ListTopBar />
</Route>
</Router>
链接已断开。它应该是:此属性不应该是path='/popular'
而不是to='/popular'
?
<Route
path="/EditEmployee/:id"
render={(props) =>
<div>
<NavMenu />
<EditEmployee {...props} />
</div>
}
/>
<Router>
<Route path="/">
<ListView />
<ListTopBar />
</Route>
</Router>