我正在构建一个在每个页面上使用相同导航栏(称为NavigationController
)的webapp。所以我正在尝试让React Router做这样的事情:
<BrowserRouter>
<Switch>
<Route path='/' component={NavigationContainer}>
<Route exact path='/path1' component={Comp1} />
<Route exact path='/path2' component={Comp2} />
<Route exact path='/path3' component={Comp3} />
</Route>
</Switch>
</BrowserRouter>
因此,当用户导航到另一个页面时,导航栏不必重复渲染。但是,这似乎不起作用。我看不到传递子组件的任何道具(我想在NavigationController
中做类似的事情:
render() {
...
return (
<div>
//Nav bar UI goes here
{this.props.children} // Ideally, Comp1/2/3 should be rendered here
</div>
);
}
推荐的实现方式是什么?我想念什么吗?