我有一個鏈接返回家裏,並有一個按鈕,從數組中刪除項目。爲了防止鏈接重定向到主屏幕並從陣列中刪除項目,我需要使用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 '? –