Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 什么时候我们应该在react中的事件侦听器中使用匿名函数?_Reactjs - Fatal编程技术网

Reactjs 什么时候我们应该在react中的事件侦听器中使用匿名函数?

Reactjs 什么时候我们应该在react中的事件侦听器中使用匿名函数?,reactjs,Reactjs,我是个初学者。在学习React时,有时我看到人们在事件侦听器中使用匿名函数,我想知道下面的代码是否相同。我认为,要调用函数onDelete,我们只需要使用onClick={this.onDelete(id)} const cartim=this.props.cart.map((bookCart)=>{ 报税表( {this.onDelete(bookCart.\u id)}>Delete ) }这,; 及 const cartim=this.props.cart.map((bookCart)=

我是个初学者。在学习React时,有时我看到人们在事件侦听器中使用匿名函数,我想知道下面的代码是否相同。我认为,要调用函数onDelete,我们只需要使用onClick={this.onDelete(id)}

const cartim=this.props.cart.map((bookCart)=>{
报税表(
{this.onDelete(bookCart.\u id)}>Delete
)
}这,;

const cartim=this.props.cart.map((bookCart)=>{
报税表(
删除
)
}这,;

当需要传递参数时,可以使用箭头函数

如果在函数中添加括号,则实际上是在执行该函数

因此,使用此代码:

<Button onClick={ this.onDelete(bookCart._id) }>Delete</Button>
…然后将onClick设置为一个函数,该函数在执行时将使用参数调用
this.onDelete


我希望这能有所帮助。

Dupe,检查一下,prob解决了您的疑问:而且,关于性能,这篇文章非常值得一读,如果您是React初学者,它将为您提供许多有用的信息:)实际上,您的第二个示例不起作用,因为您正在调用函数而不是仅仅传递它。您必须使用arrow函数或绑定arg。
    const cartItem=this.props.cart.map((bookCart)=>{
                return (    
    <Button onClick={this.onDelete(bookCart._id)}>Delete</Button>
    )
},this;
<Button onClick={ this.onDelete(bookCart._id) }>Delete</Button>
<Button onClick={ () => this.onDelete(bookCart._id) }>Delete</Button>