在ReactJs中输出事件的角度

9
我正在寻找一种类似于Angular的ReactJs输出事件的方法。
我正在根据原子设计制作ReactJs组件库,例如,在其他组件中注入了一个按钮,我想知道如何为按钮编写props,以便每次用户按下按钮时都会启动此prop(以Angular方式进行输出),以便在父级中检测到它被注入的位置。
我不想使用状态,因为我希望组件完全独立。
提前感谢。
1个回答

26

React中没有与 @output EventEmitter 等效的方法。标准做法是通过 props 将回调函数传递给子组件。例如:

  class Parent extends React.Component {
      handleChildClicked = () => {
          console.log('child clicked');
      }
      render() {
        <Child onClick={this.handleChildClicked} />
      }
  }

  const Child = (props: Props) => {
    const { onClick } = props;
    return (
      <button onClick={onClick}>Clicky!</button>
    );
  };

是的!好答案!谢谢 - Agustin Herrera
从 React 17.x.x 开始我收到了“Props 已弃用”的消息。 - Benjamin Martin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接