我在Main中有一个快餐栏处理程序,我希望将其作为道具传递给每个Route组件。我怎样才能做到这一点?
<Router history={browserHistory}>
<Main history={browserHistory}>
<Switch>
<Route path="/comp1" component={comp1} />
<Route path="/comp2" component={comp2} />
<Route path="/comp3" component={comp3} />
<Route path="/comp4" component={comp4} />
</Switch>
</Main>
</Router>
答案 0 :(得分:1)
您可以在React Router中传递道具,包括绑定事件处理程序:
<Route exact path={'/:userId/create-project/:projectId'} component={() => {
return (
<ProjectEditor
goToDashboard={this.goToDashboard}
nextProject={this.state.nextProject}
goToProject={this.goToProject}
updateUserProject={api.updateUserProject}
/>
)
}}
/>
答案 1 :(得分:0)
您可以将组件放置在Route中并在此处传递任何道具。
<Route path="/comp1"><Comp1 myHandler={MyHAndler}/></Route>
Comp1
也可以从Route
获取所有道具。