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



以下是我的组件树。

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传递给仪表板组件?这很难维护。

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

我建议使用类似上下文的东西,它将允许您跳过中间的组件,只在需要时访问该函数。

最新更新