React onClick函数在渲染时激发

我将2个值传递给子组件:

  1. 要显示的对象列表
  2. 删除功能

我使用.map()函数来显示对象列表(如react教程页面中给出的示例),但该组件中的按钮在渲染时触发onClick函数(不应在渲染时触发)。我的代码如下所示:

module.exports=React.createClass({
render:function(){
var taskNodes=this.props.todoTasks.map(函数(todo){
返回(
<div>
{todo.task}
<button type=“submit”onClick={this.props.removeTaskFunction(todo)}>submit</button>
</div>
);
},这个);
返回(
<div className=“todo任务列表”>
{taskNodes}
</div>
);
}
});

我的问题是:onClick函数为什么会在渲染时启动,以及如何使其不启动

因为您正在调用该函数而不是将该函数传递给onClick,所以将该行更改为:

<button type=“submit”onClick={()=>{this.props.removeTaskFunction(todo)}>提交&lt/按钮>

=&gt称为箭头函数,该函数在ES6中引入,将在React 0.13.3或更高版本上得到支持

发表评论