当前位置: 首页 > 知识库问答 >
问题:

React onClick函数在呈现时激发

羊禄
2023-03-14

我将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函数在render时触发,以及如何使它不触发?

共有1个答案

冯文彬
2023-03-14

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

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

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

 类似资料:
  • 激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。 Sigmoid 也成为 S 形函数,取值范围为 (0,1)。Sigmoid 将一个实数映射到 (0,1) 的区间,可以用来做二分类。Sigmoid 在特征相差比较复杂或是相差不是特别大时效果比较好。 sigmoid 缺点: 激活函数计算量大(指数运算),反向传播求误差梯度时,求导

  • 激活函数可以通过设置单独的激活层实现,也可以在构造层对象时通过传递activation参数实现。 from keras.layers import Activation, Dense model.add(Dense(64)) model.add(Activation('tanh')) 等价于 model.add(Dense(64, activation='tanh')) 也可以通过传递一个逐

  • 激活函数可以通过设置单独的激活层实现,也可以在构造层对象时通过传递activation参数实现。 from keras.layers.core import Activation, Dense model.add(Dense(64)) model.add(Activation('tanh')) 等价于 model.add(Dense(64, activation='tanh')) 也可以通过

  • 我有一个非常简单的功能组件,它从localStorage获取日期并显示它。我有两个按钮来添加或删除日期后的周数,我希望显示新的日期。但是,该组件不会被渲染。 此组件的预期行为是获取时间戳,然后显示该时间戳的月份和年份。加载时,它正确地显示了2021年1月,但是当我在onLefthtml上单击几次时,它并没有呈现组件,尽管我期望它显示2021年12月。计算是正确的,我想我在这里丢失了功能组件渲染的概

  • 激活函数的用法 激活函数可以通过设置单独的 Activation 层实现,也可以在构造层对象时通过传递 activation 参数实现: from keras.layers import Activation, Dense model.add(Dense(64)) model.add(Activation('tanh')) 等价于: model.add(Dense(64, activation

  • 我在react native 0.62上工作,我在其中使用了抽屉导航器。当用户登录到应用程序时,我将auth api响应存储到redux存储中。登录后,我想在仪表板头显示登录的用户名,但我无法使用redux存储在我的函数。用钩子试过,但不起作用。任何帮助或建议。提前谢谢你。下面是我的代码: login.reducer.js从'../utility/constants'导入{AUTH_REQUEST