嗨,我有一个可重复使用的组件,它具有onClick事件功能:
const foo = (...params) => event => {
//...process code
};
我故意把它建成这样。然而,我需要在我的另一个函数上使用foo
函数,让我们称之为bar
,它看起来像这样:
const bar = (type,callback)=> {
const settings = {
type,
callback,
title:"test",
};
foo(settings);
}
上述代码附加在JSX的CCD_ 3属性上。我尝试了以下方法,但没有成功:
<span onClick={bar('add', handleAdd)}>Click</span>
<span onClick={() => bar('add', handleAdd)}>Click</span>
我做错了什么?这可能吗?我如何将事件传递给foo
函数,以便它触发它。
// in this way it will be run immediately
<span onClick={bar('add', handleAdd)}>Click</span>
// use this way and call `foo` in `bar`
<span onClick={(event) => bar('add', handleAdd, event)}>Click</span>