gpt4 book ai didi

javascript - React onClick 函数在渲染时触发

转载 作者:IT老高 更新时间:2023-10-28 13:17:11 29 4
gpt4 key购买 nike

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

  1. 要显示的对象列表
  2. 删除函数。

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

module.exports = React.createClass({
render: function(){
var taskNodes = this.props.todoTasks.map(function(todo){
return (
<div>
{todo.task}
<button type="submit" onClick={this.props.removeTaskFunction(todo)}>Submit</button>
</div>
);
}, this);
return (
<div className="todo-task-list">
{taskNodes}
</div>
);
}
});

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

最佳答案

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

<button type="submit" onClick={() => { this.props.removeTaskFunction(todo) }}>Submit</button>

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

关于javascript - React onClick 函数在渲染时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33846682/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com