为什么函数中没有括号

2023-12-25

任何帮助或提示将不胜感激。为什么在方法调用中不使用括号? 如果我使用括号“onInputChange()”,则在加载页面时会调用该方法。调用后,如果我在输入框中键入任何内容并单击“onInputChange()”方法之外的区域,则不会调用该方法。

如果我不使用括号“onInputChange”,则加载页面时不会调用该方法,为什么会这样?但是加载后,我在输入框中输入一些内容,然后在调用方法“onInputChange”之外单击。

错误的方法:

  <input type="text" onChange={this.onInputChange()} />

正确的方法:

<input type="text" onChange={this.onInputChange} />

搜索栏.js

import React from 'react';

class SearchBar extends React.Component {
  onInputChange() {
    console.log('onInputChange');
  }

  render() {
    return (
      <div className="ui segment">
        <form className="ui form">
          <div className="field">
            <label>Image Search</label>
            <input type="text" onChange={this.onInputChange()} />
          </div>
        </form>
      </div>
    );
  }
}

export default SearchBar;

如果您在方法中使用括号,它将在渲染本身上执行。它不会等待事件执行。

带括号:将函数的结果分配给 onChange 事件

不带括号:将函数分配给 onChange 事件

简单的 JavaScript 示例

function onValueChange(){
  console.log("onValueChange");
}

function onValueChange1(){
  return onValueChange;
}
<button onclick="onValueChange()">Without Parentheses</button>

<button onclick="onValueChange1()()">With Parentheses</button>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么函数中没有括号 的相关文章

  • 使用 React js 和 Express API 服务器通过 fetch 发布对象

    我在 fetch 中的 post 方法遇到麻烦 因为我的服务器从客户端接收到一个空对象 我已经检查了客户端 但无法发送我想要发送的值 这是我的服务器 const express require express const app expre
  • 在移动浏览器或 PhoneGap 应用程序之间进行检测

    是否可以使用 JavaScript 检测用户是否通过浏览器或应用程序进行访问 我正在通过网页和 PhoneGap 应用程序开发适用于多个移动操作系统的混合应用程序 目标是 独立于部署目标使用相同的代码 仅当用户代理是应用程序时添加 Phon
  • 使用 fadeIn() 时,jQuery“未捕获类型错误:未定义不是函数”;

    我是 JS 新手 正在编写一个基本的富含 jQuery 的网页 其中同一文档中的每个页面都具有淡入 淡出功能 使用具有单独 ID 的相同 div 元素 无论如何 当我尝试淡入当前页面时 我收到错误 未捕获的类型错误 未定义不是函数 我在网上
  • 获取语​​音通道的用户数

    我正在重写我的音乐部分朋友不和谐机器人 https top gg bot 629799045954797609 我试图弄清楚如何获取执行命令的人的语音通道中的用户数量 我到处都找过 但似乎找不到它或它的用法 现在我正在使用以下内容 modu
  • 粘性页脚不粘在 AngularJS 中

    Im working an angular site and im trying to implement a sticky footer across all views but the footer stops sticking whe
  • YouTube - 右键单击​​时不显示上下文菜单

    想法 通过使用右键拖放到视频播放器上来查找 YouTube 视频 例如 每 2 屏幕宽度 1 秒 因此 在 1920x1080 的屏幕上 如果我按下鼠标右键 将其向左拖动 384 像素 20 然后松开 视频应该快退 10 秒 我有一个 Gr
  • console.log 是如何工作的?

    第一个例子 在以下示例中 http jsfiddle net maniator ScTAW 4 http jsfiddle net maniator ScTAW 4 我有这个js var storage function var store
  • HTML5 Audio Element 无法在 IOS 11 设备上的 safari 中播放 mp3 直播

    我是一家广播公司的网络开发人员 自 iOS 11 发布以来 我们收到了一些用户投诉 称我们的音频直播流无法再在 IOS 11 设备上播放 为了将流嵌入我们的网站 我们使用 HTML5 AudioElement 在 iOS 11 的 iPho
  • Antd datepicker (date.clone/date.load 不是函数)

    我有一个反应应用程序 有一个复选框可以禁用日期选择器 但当我使用复选框禁用它时 我无法选择任何日期 如果我删除复选框及其功能 则不会出现错误 目前 我得到 date clone 不是函数 error const dateFormat YYY
  • 如何检查字符串中是否存在阿拉伯字符(javascript)

    如何用javascript语言检查字符串中是否存在阿拉伯字符 根据维基百科 http en wikipedia org wiki Basic Multilingual Plane 阿拉伯字符属于 Unicode 范围 0600 06FF 因
  • 在 Jscript 中实例化 System.Threading.Thread 对象

    我正在尝试使用 Jscript 创建一个新的 System Threading Thread 对象 但我无法让构造函数工作 如果我只是执行以下操作 var thread new Thread threadFunc function thre
  • 使用Doctype让scrollTop返回0,为什么?

    当我将此 Doctype 放入我的文档中时document body scrollTop返回零 这是为什么 当您使用该 Doctype 时 您会将每个当前浏览器放入所谓的几乎标准模式 http hsivonen iki fi doctype
  • EaselJS Alpha 遮罩滤镜

    我对 Canvas 还很陌生 我一直在尝试将图像颠倒过来EaselJS Alpha 蒙版 http www createjs com demos easeljs alphamaskreveal示例 以便初始图像清晰 并且您可以paint是模
  • 如何实现 chromecast 对 html5 播放器的支持

    我使用js和html5设计了一个具有一些自定义功能的html5播放器 现在我需要在html5播放器上添加chromecast选项 例如https raw githubusercontent com kim company videojs c
  • 在成功回调之前修改 JSONP 结果

    我想从外部服务加载一些 JSON 数据 然而 它提供 foo bar useful 而我真正关心的是 有用 的部分 我需要将那部分传递给success打回来 我正在尝试使用Deferred一次从多个数据源加载 类似this https st
  • 掩码输入数字 - 百分比

    如何通过 jQuery 创建具有百分比的数字掩码输入 我是否让输入仅接受三个数字 并在用户完成输入时在数字后添加百分号 keyup 我不使用插件 例子 1 Or 30 Or 99 Or 100 Or 200
  • 在 Mobile Safari 中点击

    敲击
  • 如何创建浏览器插件?

    我必须创建一个插件 当用户将鼠标悬停在某些术语上时 该插件必须显示信息 谁能告诉我如何做的方向 我对创建插件没有太多想法 我知道我想要做的事情可以通过java脚本来完成 但是java脚本文件可以作为浏览器插件安装吗 任何对此的想法将不胜感激
  • 如何选中表格中输入文本焦点上的复选框

    我试图在输入文本焦点上检查表 DOM 中的复选框 但无法访问复选框元素 但我的焦点正在工作 这是我的 jsfiddle 链接https jsfiddle net 9qha9vft https jsfiddle net 9qha9vft 这是
  • 如何使用 jquery 生成并附加随机字符串

    一般性 我想使用 jQuery 或 javascript 将随机字符串附加到元素的属性 规格 我需要引用 CDN 上的 CSS 文件 不幸的是 每次更新该 CSS 文件时 CDN 都会更改该文件的 URL 所以我不能简单地引用静态 URL

随机推荐

  • 何时在 Ruby 中使用 `require`、`load` 或 `autoload`?

    我理解之间的细微差别require load and autoload在 Ruby 中 但我的问题是 你怎么知道使用哪一个 除了能够 包裹 load在匿名模块中 require似乎是首选 但是之后autoload允许您延迟加载文件 这听起来
  • 保持 Android 表格中所有行的列对齐

    我在 Android 上遇到了一个问题 无论我尝试什么都无法解决 想象一个表格布局 有 3 个表格行 每行有两个文本字段 Image 由于新用户限制 无法在此处添加图像 http imgim com tbl behaviour png 现在
  • 基于 Zend Framework 的项目

    在哪里可以看到具有漂亮架构的 ZF bssed 项目 数据映射器 服务等 这是一些应用程序 http www framework zend com wiki pages viewpage action pageId 14134 http w
  • 如何在GAE上设置中级证书?

    我为我的自定义域购买了 SSL 认证 并设置了我的 GAE 项目 在新的 Firefox 版本发布之前 它在大多数浏览器上都运行良好 Firefox 拒绝了我的 SSL 认证 我使用过 SSL Checker 它给了我反馈 并非所有网络浏览
  • 用于计费协议的 Paypal Webhook 收到付款了吗?

    是否有在收到计费协议付款时触发的 Webhook 我创建了一个计费计划 并让用户接受每月定期付款的计费协议 当计费协议执行时 webhookBILLING SUBSCRIPTION CREATED fires 是否有一个 webhook 在
  • 对多个文件运行 Excel 宏

    我有一个 Excel 宏保存在一个空白工作簿和多个数据工作簿中 目前 我分别打开宏文件和每个数据文件 并使用键盘快捷键在每个文件上运行宏 有没有一种方法可以在所有数据工作簿上运行宏而无需打开它们 或者使用 一个批处理文件 VBA VBScr
  • Google 地图 - 获取区域/邻里的多边形边界

    我想在 Google Maps API v3 上进行简单搜索 并得到带有彩色多边形的地图 如下图所示 搜索 皮涅罗斯 圣保罗 我通过使用得到它维基地图 http WikiMapia org data 步骤是 Open 维基地图 http W
  • 如何仅列出两次提交之间更改的文件名

    我在存储库中有一堆提交 我想查看两次提交之间更改的文件列表 来自SHA1 to SHA2 我应该使用什么命令 git diff name only SHA1 SHA2 您只需要包含足够的 SHA 哈希来识别提交 SHA 的顺序并不重要 输出
  • 如何使用 BertForMaskedLM 或 BertModel 来计算句子的困惑度?

    我想使用 BertForMaskedLM 或 BertModel 来计算句子的困惑度 所以我编写了这样的代码 import numpy as np import torch import torch nn as nn from transf
  • 创建一个链接,可在任何设备上打开相应的地图应用程序,并提供前往目的地的路线

    我宁愿认为这并不难找到 但看起来像您所期望的那样 找到一篇很棒的跨设备文章并不容易 我想创建一个链接 打开移动设备的浏览器并浏览谷歌地图 或者打开地图应用程序 Apple 地图或谷歌地图 并直接开始路线 即 从当前位置开始 在给定点结束 纬
  • 使用 CouchDB 的 jquery.couch.js?

    Here http blog couchone com post 1027100082 whats new in couchdb 1 0 part 4 securityn stuff http blog couchone com post
  • org.hibernate.exception.SQLGrammarException:无法插入[com.sample.Person]

    我正在尝试建立一个我发现的 Hibernate 小型工作样本here http www mastertheboss com hibernate 182 hibernate tutorial html但是 当我运行代码时 出现以下错误 Exc
  • C# 中的验证框架?

    在java世界里有bean验证框架JSR 303 http download oracle com otndocs jcp bean validation 1 0 fr oth JSpec 这是一个经过深思熟虑的策略 用于在应用程序的表示层
  • 迭代数组并等待 Promise

    如何使用 Promises 迭代数据数组并返回数据 我已经看到了一些 Promise push asyncFunc 方法 但是我的数组中的一些条目将失败 因此根据我收集的信息 我无法使用它 var filesFromDisk 41679 4
  • 在 R 中查找某个范围内的值

    我的数据如下所示 我想选择大于 等于 35 且小于 等于 350 的值 我还想将这些值替换为withinrange value 1 35 36 37 350 355 3555 35555 要选择值 value value gt 35 val
  • Docker pull 给出了来自字节范围请求的预期 HTTP 206

    我在从我们的现场 proget 服务器提取 docker 镜像时遇到问题 这一直有效 但我已经离开它大约两个月了 我跑 docker pull proget docker myimage 几层已完成 拉取完成 但最大的一层给出了 来自字节范
  • 是否可以使用 DI 容器解析我的 ClaimsAuthorizationManager

    我已经让我的自定义 ClaimsAuthorizationManager 使用标准配置文件设置工作 但我想将业务层服务注入到我的实现中 但我无法弄清楚
  • Xcode 13 beta:“xcrun:错误:无法找到‘仪器’”

    请注意 我在找 Applications Xcode app Contents Developer usr bin instrumentsutil 小写 而不是Instruments应用程序可以在以下位置找到 Xcode app Conte
  • IEnumerable 和 IEnumerator

    谁能向我解释一下 IEnumerable 和 IEnumerator 之间有什么区别 以及如何使用它们 谢谢 一般来说 一个IEnumerable是一个可以枚举的对象 例如列表或数组 一个IEnumerator是一个存储枚举状态的对象 它们
  • 为什么函数中没有括号

    任何帮助或提示将不胜感激 为什么在方法调用中不使用括号 如果我使用括号 onInputChange 则在加载页面时会调用该方法 调用后 如果我在输入框中键入任何内容并单击 onInputChange 方法之外的区域 则不会调用该方法 如果我