无法在 React 输入文本字段中输入内容

2024-02-01

我正在尝试我的第一个 React.js,但很早就被难住了......我有下面的代码,它将搜索表单呈现为<div id="search"></div>。但在搜索框中输入内容却没有任何作用。

大概是在传递 props 和 state 的过程中缺少了一些东西,这似乎是一个常见的问题。但我很困惑——我看不出缺少什么。

var SearchFacet = React.createClass({
  handleChange: function() {
    this.props.onUserInput(
      this.refs.searchStringInput.value
    )
  },
  render: function() {
    return (
      <div>
        Search for:
        <input
          type="text"
          value={this.props.searchString}
          ref="searchStringInput"
          onchange={this.handleChange} />
      </div>
    );
  }
});

var SearchTool = React.createClass({
  render: function() {
    return (
      <form>
        <SearchFacet 
          searchString={this.props.searchString}
          onUserInput={this.props.onUserInput}
         />
        <button>Search</button>
      </form>
    );
  }
});

var Searcher = React.createClass({
  getInitialState: function() {
    return {
      searchString: ''
    }
  },

  handleUserInput: function(searchString) {
    this.setState({
      searchString: searchString
    })
  },

  render: function() {
    return (
      <div>
        <SearchTool 
          searchString={this.state.searchString}
          onUserInput={this.handleUserInput}
        />
      </div>
    );
  }
});

ReactDOM.render(
  <Searcher />,
  document.getElementById('searcher')
);

(最终我会有其他类型的SearchFacet*但我只是想让这个发挥作用。)


Using value={whatever}将使您无法在输入字段中键入内容。你应该使用defaultValue="Hello!".

See https://facebook.github.io/react/docs/uncontrol-components.html#default-values https://facebook.github.io/react/docs/uncontrolled-components.html#default-values

另外,onchange应该onChange正如@davnicwil 指出的那样。

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

无法在 React 输入文本字段中输入内容 的相关文章

  • 从 HTML 表单发送数据到 Node.js 服务器

    我正在学习 Node js 我的服务器中有这个 var http require http var url require url http createServer function request response response w
  • Yeoman-Angular 生成的应用程序中缺少 Angular 脚本

    我已经使用 Yeoman Angular Generator 生成了一个应用程序 但项目中缺少 angular js 和其他 Angular 文件 我可以在 Bower json 文件中看到这些依赖项 如下所示 name mi portfo
  • Object.assign() - 奇怪的行为需要解释

    我有这个代码 function margeOptions options passedOptions options Object assign options passedOptions let passedOpts a true let
  • 使用shinyjs通过javascript在闪亮的应用程序中操作现有的Leaflet地图

    我有一个闪亮的应用程序 其中包含现有的传单地图 我希望能够在渲染后使用自定义 javascript 通过shinyjs包裹 一个最小的例子如下 app R packages library dplyr library leaflet lib
  • 画布图像遮罩/重叠

    在我的项目中 我必须使用画布在另一个相同尺寸和图案图像上实现一个不同的颜色图像 并且图像不是圆形或矩形形状 所有这些都是波浪形状的 它将应用于单个主背景图像 以便在每个主背景图像上显示多个图形onclick功能 重叠的图像应更改为另一种选定
  • 使用 JavaScript 填写 PDF 表单

    这就是我所拥有的 用户填写很长的 html 表单 用户获取下载不同 pdf 的链接 这是可填写的表格 链接是使用 javascript 生成的 用户单击链接 生成 url 使用用户之前提交的数据 在表单中处理数据并完成字段 这是在表单内使用
  • 过滤器返回 true 或 false

    我正在使用过滤器在 data it 返回对象中查找 id 它返回的对象不是 true 或 false 如果我怎样才能返回 true 或 falseval recoredId valueId var hasMatch data filter
  • 向下滚动时如何使图像移动?

    这是我想要实现的目标的示例 https www flambette com en https www flambette com en 我尝试过更改图像的 css 属性 但效果不能满足我的需求 我尝试过以下代码 mydocument on
  • 赋予 d3 序数轴标签与尺度名称不同

    我有一个序数scale具有不同值的某些标签 我想显示该比例的轴 其中轴标签与比例标签不同 我有这个代码 var width 1000 var height 600 var margins left 100 40 right 25 botto
  • 如何防止在达到一定字符数后向文本区域输入内容?

    使用下面的代码 任何超过指定最大值的输入都将被删除 但这会产生一种效果 即键入字符后立即将其删除 我宁愿简单地阻止输入字符
  • ReactJS 模式无法使用 Materialise css 打开

    我是 ReactJS 的新手 正在学习使用 Materialise css 创建模型 https materializecss com https materializecss com import React Component from
  • 传单 - 导入 Geojson - Angular 6

    我尝试将 GeoJson 文件导入到 Angular 的应用程序 6 中的传单中 通过这个解决方案 我的 geojson 是在 leafletmap 中绘制的 但我有这个错误 我无法构建我的应用程序 有人知道一种解决方案吗 错误 TS234
  • jQuery live() 和ready() 之间的区别?

    两者之间的确切区别是什么live and ready 编辑 发现die http docs jquery com Events die是相反的live ready http docs jquery com Events ready让你注册一
  • html输入数字,min + step,使step忽略min?

    是否有可能使step忽略min属性
  • NodeJS 中的缩进多行日志记录

    我要打印JSON stringify d 反对控制台 将上下文作为 Mocha 测试套件输出的一部分 当测试缩进时 我希望对象日志行向右缩进足够远 例如 3 4 个制表符空格 以便它们可以识别地位于右侧describe group 我怎样才
  • 在 HTML5 画布上创建颜色选择器

    如何在 HTML5 画布上绘制颜色选择器 一个基本的例子是使用getImageData http jsfiddle net eGjak 60 http jsfiddle net eGjak 60 var ctx cv get 0 getCo
  • jVectorMap - 向下钻取地图 - 自定义背景

    我正在使用 jVectorMap 中的向下钻取地图 并且尝试将自定义背景颜色设置为地图的第二层 为了自定义主级别 我使用 main 参数 但我不知道如何将其扩展到地图的较低级别 提前致谢 马切伊 None
  • Material UI 选择覆盖主题中的位置

    我想覆盖主题中选择字段下拉列表的位置 不必在每个选择上实现它 我尝试过 createMuiTheme overrides MuiSelect select MenuProps getContentAnchorEl null anchorOr
  • 当 jQuery .remove() 用于删除脚本标签时,它是否会清除加载的 JavaScript?

    正如标题所示 如果我使用以下命令从 DOM 中删除脚本标签 scriptid remove javascript 本身是保留在内存中还是被清除了 或者 我完全误解了浏览器处理 javascript 的方式吗 这是很有可能的 对于那些对我提问
  • 在 React 中使用 setTimeout() 并测试它

    我意识到我一直在使用setTimeout 在我的项目中 也许 比我应该做的更多 我进行了快速研究并浏览了 Github 上的一些开源 React 项目 并决定我应该询问一下 I use setTimeout主要是为了更改类名或添加样式以对

随机推荐

  • 将 CardView 置于仅包含一个元素的 RecyclerView 中

    我使用的 RecyclerView 包含带有 TextView 和 ImageView 的 CardView 每张卡代表一个城市 我还在每张卡片上都有一个 onClickListener 它可以引导我找到该城市的博物馆列表 Recycler
  • 如何使用 JSTL 循环遍历字符串中的每个字符?

    如何使用 JSTL 循环遍历字符串中的每个字符 棘手的使用fn substring 会做
  • Angular-Dart DI 库中的工厂注入

    在我的 Dart 应用程序中 我使用 MVP 模式和 Angular dart 依赖注入库 Angular di 在上面的示例中 我无法注入 MyView 或 MyPresenter 因为这是循环依赖项 class MyView MyPre
  • 术语:前向声明与函数原型

    对我来说 使用 C 编程语言时这些术语本质上是同义词 在实践中 我可能更喜欢文件内原型的 前向声明 而不是通过头文件包含的原型的 函数原型 但当你考虑预处理后会发生什么时 即使这也是人为的区别 也许我错过了一些东西 对于何时使用一个术语与另
  • 解构 Open Layers 3 地图

    所以 我使用 Open Layers 3 和 Ember js 来制作仪表板 并且我已经动态加载地图 但我希望它在我离开路线时被销毁 我发现的唯一东西是 map destroy 但它是针对旧版本的API 新版本中似乎没有 进入地图页面几次后
  • 取消设置 git 配置

    我在 Mac 上使用 FileMerge 来查看差异 并设置为 git config global diff external bin git diff cmd sh 现在我不想再使用 FileMerge 如何恢复到之前的默认设置 Use
  • Zsh 无法正确自动完成我的 ssh 命令

    我在 ssh 自动完成方面遇到一些问题 我希望我的 zsh 在我的 ssh config 文件上自动完成 但到目前为止它只对 etc hosts 文件执行此操作 我发现如何通过添加此配置来不使用主机文件 zstyle completion
  • valgrind - 地址 ---- 是分配大小为 8 的块后的 0 字节

    首先 我知道similar已提出问题 但是 我想问一个关于真正原始 C 数据类型的更一般的简单问题 所以就是这样 In main c我调用一个函数来填充这些字符串 int main int argc char argv char host
  • 有没有API可以从wiki页面获取图像

    我想从维基百科页面获取主图像 我有所有维基百科实体名称 我从中创建维基链接并从该页面获取主图像 我尝试过 https github com richardasaurus wiki api https github com richardas
  • 嵌套的纯函数仍然是纯函数吗?

    根据定义 一个纯函数是纯的 如果 给定相同的输入 将始终返回相同的输出 不产生任何副作用 不依赖于外部状态 所以这是一个纯函数 function foo x return x 2 foo 1 2 foo 2 4 foo 3 6 这也将是一个
  • Angular 6 - 材质文本框浮动占位符不起作用

    我想使用 Angular 6 Material UI 组件来提供更高级的外观和感觉 我在测试程序下运行 但 mat 输入没有提供那种外观和感觉 参考 https material angular io components input ov
  • 有没有办法在 iOS 12.2 的 PWA 中使用 mailto: 或 message: 方案?

    我使用 Ionic 4 构建了一个 PWA 它有一个 联系 按钮 其中包含使用 mailto 方案的简单 href a href Contact a 当从主屏幕启动 PWA 时 这用于打开 iOS 12 1 中的本机邮件应用程序 自从我更新
  • 如何获取和/或覆盖 Mac OSX 中窗口的最小尺寸

    我想调整我的机器上的任何窗口的大小 这是我使用 AppleScript 完成的 使用图形用户界面脚本 http www macosxautomation com applescript uiscripting index html 该脚本类
  • 如何计算 JSON 数据中变量的总和?

    我编写了一个项目 其中字符串以相反的方式返回 PostMapping reverse public String reverseList RequestBody String string List
  • 关于Android NDK libc++ libc++_shared、libstdc++的困惑

    我在尝试使用 Android NDK 23 23 1 7779620 构建一个简单的 C 库时感到非常困惑 我正在使用 CMake 这是一个非常简单的程序 CMakeLists txt cmake minimum required VERS
  • Flex:如何创建一个全新的组件?

    我想为 Flex 开发一个网络图形应用程序 想象一下将节点放置在 Canvas 上并用链接将它们连接起来 节点应具有可编辑文本和其他 UI 组件 我试图找到从头开始创建全新 UI 组件的示例 但我所能找到的只是扩展现有组件的琐碎示例 例如
  • 将数字排列成最大数 - 算法证明

    有众所周知的算法问题 http www programcreek com 2014 02 leetcode largest number java 给定数字数组 例如 1 20 3 14 在这种情况下 以尽可能形成最大数字的方式排列数字32
  • 有 ASP.Net 基准测试工具吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想测量 Net 应用程序的性能 特别是在服务器中运行时 ASP Net 中的 Web 应用程序 我需
  • 日期选择器给出的时间不是异常之间的时间

    我正在使用日期选择器 想要将最小日期设置为今天 将最大日期设置为一年后的今天 我这样做是这样的 datePickerDialog getDatePicker setMinDate System currentTimeMillis 1000
  • 无法在 React 输入文本字段中输入内容

    我正在尝试我的第一个 React js 但很早就被难住了 我有下面的代码 它将搜索表单呈现为 div div 但在搜索框中输入内容却没有任何作用 大概是在传递 props 和 state 的过程中缺少了一些东西 这似乎是一个常见的问题 但我