我有一个链接返回家里,并有一个按钮,从数组中删除项目。为了防止链接重定向到主屏幕并从阵列中删除项目,我需要使用ev.preventDefault()
。react - onclick使用事件而不使用箭头功能
是否可以将ev
传递给反应方法而不使用render
方法中的箭头函数?从我的研究,特别是the answer here看来,以下是唯一的方法。
我担心的是,每次渲染时都会创建新函数,因此每次都会导致箭头函数重新渲染。
removeItem(label, e) {
e.preventDefault();
this.props.removeItem(label.id);
}
render() {
const { label } = this.props;
return (
<Link to'/'>
<span>Go Home</span>
<span onClick={(e) => this.removeItem(label, e) }> Click me <span>
</Link>
);
}
您可以删除标签参数,直接从this.props中获取'label'。然后,你可以只是'onClick = {this.removeItem}' –
尽管在每个渲染上创建一个新函数可能并不是那么昂贵:) –
好点,但是我仍然可以使用'e.preventDefault '? –