将多个onclick处理函数传递给子组件

时间:2020-09-23 06:47:36

标签: reactjs event-handling react-props

我下面有一些代码来显示此问题。我想将两个handleClick函数传递给子组件。

问题在于,每个处理程序都会从​​单独的按钮元素触发。我不需要两个函数都同时触发。

我尝试将两个函数都放在一个handlerClickOneAndTwo函数中,但这是不正确的,因为我不希望那个函数触发两个处理程序。

如何将这两个处理程序函数都发送给子组件?

    const handleClickOne = (e) => {
        //some handler logic
        }));
    };

    const handleClickTwo = (e) => {
        //some handler logic
    };

    return (
        <ChildComponent
            onClick={handleClickOne}
    //I also want to handleClickTwo here but it will trigger from a different button
        />
    );
}

1 个答案:

答案 0 :(得分:0)

传递不同的道具来获得不同的onClick。像这样:

const handleClickOne = (e) => {
        //some handler logic
        }));
    };

    const handleClickTwo = (e) => {
        //some handler logic
    };

    return (
        <ChildComponent
            onClick1={handleClickOne}
            onClick2={handleClickTwo}
        />
    );

并在您的子组件中根据您的要求分配这些