将事件从深度嵌套的子组件传播到React中的顶级组件

时间:2019-01-22 09:15:11

标签: javascript reactjs

以下是我的组件树。

DashboardComponent
  TaskManagementView
    TaskManagementForm
      SubmitButtonComponent

我需要将按钮点击事件从SubmitButtonComponent传递到DashboardComponent

执行此操作的一种方法如下

<DashboardComponenet AddTask={AddSomeTask}>
  ....
  <TaskMangementView submitClicked={props.AddTask}>
    ....
    <TaskManagementForm ButtonClick={props.submitClicked}/>
      .....
      <SubmitButtonComponent onclick={props.ButtonClick}/>
      ....
    <TaskManagementForm />
    ....
  </TaskManagementView >
  ....
</DashboardComponent>

是否有一些将onClick传递给DashboardComponent的好方法?这很难维护。

1 个答案:

答案 0 :(得分:0)

正如Gaurav所说,您可以将函数作为道具向下传递给各个组件。但是当中间有很多组件时,这可能会变得混乱

OR

我建议使用类似{{3}}的名称,这样您可以跳过中间的组件,而仅在需要时访问该功能。