我希望能够访问mapDispatchToProps中的事件对象以及发送参数。你是怎么做到的?
这是我到目前为止所做的:
const mapDispatchToProps = dispatch => ({
onRowClick: (id, event) => {
console.log(id, event)
},
})
在视图中我有:
<TR key={`${index}`} onClick={() => onRowClick(id, event)}>
然而,这是不正确的。如何分派事件,传递参数,还可以访问事件对象?
答案 0 :(得分:1)
让我告诉你why you shouldn't do it::
汇集SyntheticEvent。这意味着SyntheticEvent 对象将被重用,所有属性将在之后无效 已调用事件回调。这是出于性能原因。如 这样,你就无法以异步方式访问事件。
但是,如果您需要,可以这样做:
const mapDispatchToProps = dispatch => ({
onRowClick: (id, event) => {
console.log(id, event)
},
})
<TR key={`${index}`} onClick={(event) => {
event.persist(); // remove the synthetic event from the pool
onRowClick(id, event);
}}>
答案 1 :(得分:0)
答案 2 :(得分:0)
您需要将此事件对象从onClick处理程序传递到onRowClick函数。像这样:
onClick={event => this.props.onRowClick(id, event)}
答案 3 :(得分:0)
您需要在箭头函数中指定事件参数:
onClick={(event) => onRowClick(id, event)}>
此外,您不应该在渲染函数中使用箭头函数