将值传递给由事件触发的方法

时间:2016-11-19 23:30:27

标签: javascript reactjs

我使用React创建了一个简单的待办事项。

无序列表(<ul>用于显示列表中的所有项目。其中包括列表项(<li>),列表项是{{1}的按钮附加到类方法的句柄:

onClick

在方法中,我需要阻止默认行为,以防止在单击按钮时刷新页面:

<button onClick={this.onHandleClick.bind(this)}>Add</button>

我的问题是,如果我想将值onHandleClick(event) { event.preventDefault(); ... } 传递给onHandleClick,我该怎么办?

2 个答案:

答案 0 :(得分:1)

将您的事件处理程序包装在另一个函数中并以这种方式传递特定于项目的参数:

<button onClick={e => this.handleClick(e, itemId)}>Add</button>
handleClick(event, itemId) {
    event.preventDefault();
    console.log(itemId);
}

答案 1 :(得分:0)

我不熟悉React,但如果值是静态的,你可以这样做:

<button onClick={function(){self.onHandleClick(passedInValue);}}>Add</button>

请注意,“self”需要绑定到包含'onHandleClick'方法的任何对象。