传递道具来反应路线

时间:2018-01-06 20:43:25

标签: javascript reactjs meteor react-router

我在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>

2 个答案:

答案 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获取所有道具。