在 React JS 中将 props 传递给父级

2024-06-28

这里我有一个默认数字“3”的文本字段,我希望在输入值并单击按钮时更新它。因为我正在更新 Child 中的值,所以我不知道如何将 props 传递给 Parent。

var Game = React.createClass({
    getInitialState: function() {
        return {
           input: 3
        };
    },

    setSize: function() {
        //here it should update "input"
        this.setState({input: /* value from Child */ })
    },

    render: function() {
        return( 
            <div>
                <div id='game'>
                    <Menu input={this.state.input}/>
                </div>
            </div>
        )
    }  
});


var Menu = React.createClass({
    render: function() {
        return (
            <div id='menu'>
                <input type="number" id="myNumber" value={this.props.input}> </input>
                <button id="mySetNumber" onclick={this.props.setSize}>Try it</button>
            </div>
        )
    }
})

它可以是这样的:

var Game = React.createClass({
  changeInput: function(e) {
    this.setState({/* do something */})
 },

 render: function() {
  return (
    <div id="game">
      <Menu onValueChange={this.changeInput} />
    </div>
    )
  }
});

var Menu = React.createClass({
  handleChange: function(e) {
    this.props.onValueChange(/* pass the element or the value */)
  }

 render: function() {
   return (
     <div id="menu">
       <input onChange={this.handleChange}/>
    </div>
   )
  }
})

或多或少像这样的东西应该有效。更多请参见this https://stackoverflow.com/questions/22639534/。这个想法是将回调函数从父级传递给子级。

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

在 React JS 中将 props 传递给父级 的相关文章

  • 在 AngularJS 和 Nodejs 之间共享代码

    使用在前端和后端之间共享代码的最佳方式是什么javascript 特别是说之间nodejs and angularjs 问题是我们使用的是相同的enums and constant values例如error codes在后端和前端 现在
  • Google Closure 和生成的 getter/setter

    我正在尝试让 KineticJS 与 Google Closure Compiler 一起使用 然而 KineticJS 根据变量的名称生成它的 getter 和 setter 像这样的事情 add getter and setter me
  • Angular 在 Img 末尾添加额外变量 %E2%80%8B

    http myimage png E2 80 8B 我刚刚复制粘贴了这个图像网址 但它最后添加了一些奇怪的数据 并且图像没有显示 但在代码上它看起来很完美 我尝试过类似 Angular 的东西 var imageSafeUrl this s
  • 工厂函数方法不更新变量

    我正在尝试设置一个工厂函数 该函数将更新所述工厂函数中特定变量的值 这看起来实现起来很简单 但是 每当我测试它时 我都会得到变量的原始设置值 而不是更新后的值 我确信在范围界定方面我缺少一些细微差别 但这里到底发生了什么 const fac
  • 如果用户禁用了 javascript,如何回退到完全不同的索引页面?

    我有一个大型 动态生成的单页网站 该网站严重依赖 javascript 我想为没有 javascript 的人提供后备 每个版本必须有不同的 php 代码 所以基本上我需要一个完全不同的索引页面 我不想将所有内容都包装在 javascrip
  • 如何告诉 Sonar 使用我的可靠报告来获取单元测试结果

    我们有一个 Jenkins 作业 其中包含一堆 javascript 文件 我们通过 grunt 构建项目 并在构建结束时运行 JSCover 来运行单元测试并收集代码覆盖率 这一切都有效 我们得到了一个不错的 LCOV 文件 并且在 ta
  • 切换 Ag-Grid 中的浮动过滤器?

    我试图通过开关或按钮单击来确定浮动过滤器的显示 看起来很简单 我应该能够在 true 和 false 之间切换 将该值提供给网格选项中的浮动过滤器 然后刷新标题 对吗 不幸的是 网格似乎总是落后一步 当我第一次点击时 什么也没有发生 当我将
  • 如何让机器人状态显示为“手机在线”

    我看到 NotSoBot 的状态为在线在移动 https i stack imgur com IiF4k png 有没有办法可以在discord js 中做到这一点 我知道这已经很旧了 但更简单的方法是将其添加到定义客户端 机器人的位置 c
  • pointdown 与 onclick:有什么区别?

    两者有什么区别onpointerdown and onclick事件处理程序 有任何实际差异吗 事件在 DOM 树上传播的方式不一样吗 是否有一些设备仅响应这些事件之一 我最初以为这只是pointerdown在触摸设备或笔中触发 但是onc
  • 如何在反应路由器的登录页面中隐藏导航栏

    我想隐藏登录页面中的导航栏 我确实做到了 但我在其他页面上看不到导航栏 此代码是 My App jsx 文件的一部分 我在 App 的状态中创造了历史 当路径名是 或 login 时 我会隐藏导航栏 有用 但随后我输入了 ID 和密码 然后
  • 如何在 Electron 中使窗口大小响应。 (打开应用程序时)

    我最近开始在 Electron 上制作一个应用程序 我想让窗口具有响应能力 例如 如果我在不同的屏幕上打开应用程序 它应该根据屏幕尺寸以全尺寸打开 我的代码 app on ready gt const htmlPath path join
  • 链接index.html client.js 和 server.js

    我从 Node js 开始 我的第一个程序已经遇到了问题 下面是我正在使用的代码 索引 html
  • 多个模板槽的相同槽内容

    在vuejs中 有没有一种方法可以为多个插槽设置相同的内容 而无需复制粘贴 So this
  • ag-Grid 中的行格式

    我们需要有条件地将行文本设置为粗体 目前它仅适用于单个单元格 但我们需要在所有列单元格上应用文本粗体 应用格式设置后 isBold 列必须隐藏 删除 此列仅用于格式化 如何应用文本缩进 10px isBold 列包含真实值的第一列的 有可能
  • CORS:为什么我的浏览器不发送 OPTIONS 预检请求?

    从我读到的内容来看CORS https en wikipedia org wiki Cross origin resource sharing 我理解它应该按如下方式工作 客户端的脚本尝试获取资源从服务器不同的起源 浏览器拦截这个请求并首先
  • Firefox 本地主机上的 Twilio 屏幕共享?

    目前 Firefox 中本地主机上的屏幕共享会引发以下错误 The request is not allowed by the user agent or the platform in the current context 这是我的代码
  • 如何捕获 google 地图的无效 API 密钥

    我有这个代码 如果密钥无效 则会弹出警报 但我想在这种情况下执行一些操作 但我不知道如何连接它 有任何想法吗 Google 不提供检查 Google 地图 API 密钥的外部方法 因此 您无法使用例如查询某些服务 此代码有效吗abcde12
  • 事件监听器如何/何时附加到 d3.js 中?

    我正在尝试制作一个 SVG 编辑器 长话短说 我需要将鼠标事件附加到
  • Jquery 脉动改变颜色或图像

    我正在尝试使用 jquery 脉动代码让 div 改变颜色 但我希望它从红色变为黑色 但我听说要做到这一点 你必须下载某个插件 所以我希望它脉动为图片 到目前为止我有这两个代码 img src 36 gif alt width 105 he
  • JQuery 循环遍历动态元素并获取数据值

    我正在尝试使用可折叠面板来完成我的要求 sport on click function var thisId this attr id var thisChildren this sportlist thisChildren each fu

随机推荐

  • 编写 MySQL 查询以获得所需结果

    我正在使用 MySQL 数据库 风险因素有四种类型 严重 高 中 低 表包含如下数据 id uaid attribute value time risk factor 1 1234 Edge Exist 16123 NONE 2 1234
  • IntelliJ IDEA - 折叠 for 循环和/或 if/else 语句

    我希望 IntelliJ 有一种让我折叠的方式for循环和if else声明 但是 我似乎无法找到自动执行此操作的方法 我知道你可以使用 region and endregion注释 或者您可以使用 Ctrl Shift 句号手动执行此操作
  • Fork/Join 杀死兄弟姐妹/分支

    我正在使用 Fork Join 递归地搜索问题的解决方案 1 1 1 1 2 1 1 1 1 1 2 1 2 1 1 2 2 现在假设我在 1 2 1 中找到了解决方案 有没有办法取消 forkjoin 池中的所有其他进程 如果我知道 1
  • 如何存储和访问 Twitter Fabric 登录会话 (iOS/Swift)?

    我可以使用以下 Twitter Fabric 代码通过我的应用程序登录 Twitter let logInButton TWTRLogInButton logInCompletion session TWTRSession error NS
  • 如何测试与 ModelState 一起使用的 ActionFilterAttribute?

    正如卡齐 曼祖尔 拉希德 Kazi Manzur Ra shid 以及其他人 在这篇博文 http weblogs asp net rashid archive 2009 04 01 asp net mvc best practices p
  • Delphi应用程序中子菜单位置错误

    我的应用程序是用delphi 编写的 由于某种原因 主菜单的行为不再像昨天那样 我可能在不知情的情况下触及了某些属性 现在 当我单击带有子项的菜单项时 尽管箭头位于右侧 但子菜单始终向左打开 是什么原因以及如何恢复 正如问题评论中所揭示的那
  • 无需 sudo 连接本地 MySQL 服务器

    这个命令 mysql uroot p 给出以下错误 ERROR 2002 HY000 Can t connect to local MySQL server through socket var lib mysql mysql sock 1
  • NodeJS 需要全局模块/包

    我正在尝试全局安装然后使用forever and forever monitor像这样 npm install g forever forever monitor 我看到了通常的输出以及将文件复制到全局路径的操作 但是如果我尝试requir
  • Gridstack.js 从 JSON 获取位置

    我现在正在与Gridstack js https github com troolee gridstack js这对我有好处 但是 总是有一个但是 有人知道我如何定位 JSON 数组中定义的 grid stack item 吗 HTML 示
  • android 动态复选框

    我正在尝试动态地将复选框添加到 LinearLayout 中 我使用了以下代码 private class ListAdapters extends ArrayAdapter
  • 调整 GIF 动画大小,pil/imagemagick,python

    我想使用 python 和 PIL 或 PythonMagick 更改 GIF 动画图像的大小 我找不到解决方案 PIL 和缩略图方法适用于 jpg 和 png 但不适用于 gif ImageMagick 有命令 mogrify conve
  • 装饰器更改返回类型时键入函数

    如何正确编写返回类型被装饰器修改的函数的类型 简单的例子 def example decorator fn def wrapper data res fn data return join res return wrapper exampl
  • Google 表单上的动态/随机问题

    我有一组 100 个问题 其中包含用户必须回答的多项选择答案 我希望用户每次打开 Google 表单时都会随机收到一组 5 或 10 个问题 并存储用户对这 5 10 个问题的回答 这些问题是基于反馈的 因此我不需要收集用户数据等 每次用户
  • 是否可以在一次测试中对方法进行两次存根以返回不同的结果?

    我想重新存根someHandler getStatus 但我得到了TypeError Attempted to wrap getStatus which is already wrapped it is a test function sa
  • 在Matlab中使用bar3时如何设置x和y值?

    快速版 如何在 Matlab 中控制 3 维条形图的 x 和 y 值 Details 假设我们有一个 10 x 20 的数据矩阵 我们使用以下方法绘制它bar3 我们要设置 x 和 y 值 例如 foodat rand 10 20 xVal
  • 在 CodeIgniter、SQL 中调用布尔值的成员函数 result()

    我试图根据搜索关键字查看 data results 中有哪些数据 但每次都会出现上述致命错误 有人可以帮助我吗 我的控制器 public function execute search search term this gt input g
  • 如何使用 JQuery 获取 Json 记录总数?

    我找不到任何有关使用 jQuery 获取 JSON 记录总数的信息 这是返回的 JSON Email Please enter your Email Password Please enter a password 这是我的代码 funct
  • ControlTemplate 或 DataTemplate 内的自定义资源字典

    编辑 使用标准 NET ResourceDictionary 时也会出现此问题 并且似乎是在控件或数据模板内使用资源字典时出现的问题 我有一个自定义资源字典 它遵循共享资源实例的通用方法 http softnotes wordpress c
  • (尖括号)在 Java 中意味着什么?

    我目前正在学习Java 最近被尖括号 难住了 它们到底是什么意思 public class Pool
  • 在 React JS 中将 props 传递给父级

    这里我有一个默认数字 3 的文本字段 我希望在输入值并单击按钮时更新它 因为我正在更新 Child 中的值 所以我不知道如何将 props 传递给 Parent var Game React createClass getInitialSt