如何从React中的函数参数设置状态[重复]

2024-02-27

我将名称和值从子组件传递给handleChange 函数。

现在我想将状态设置为与提供的名称匹配的值。 但我不知道如何设置。

我尝试了这种方式(但它给出了错误 - 'this.setState 不是函数'):

class ParentComponent extends Component {
constructor(props) {

    super(props);
    this.myRef = React.createRef();
    this.state = {
        loanAmount: 348600.48,
        numberOfYears: 70,
 }
  handleChange(name, value) {  
    this.setState({ name: value },() => {
      this.financeCalcualte();
    });
  }

子组件的代码为:

   onChange = (event) => {   
    const {name, rawValue} = event.target;
    this.props.handleChange(name, rawValue)
   }

设置它的正确语法是什么?


为了使用this在回调函数中,正如注释中所述,您必须将其绑定在构造函数中或使用箭头函数。

另外,既然你的name是一个变量,你不能像这样更新你的状态:

this.setState({ name: value }

因为这会创建一个name您所在州的属性,不会更新具有以下属性的状态变量name作为您的传入变量。因此,您应该使用计算属性。

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

如何从React中的函数参数设置状态[重复] 的相关文章

随机推荐

  • .NET 正则表达式检查长度和非字母数字字符

    我需要 Regexp 来验证字符串的最小长度为 6 并且它至少包含一个非字母数字字符 例如 eN S u h9YI gt 4j 9YI 4j eN S usdf dfh9YI gt 4j ghffg 9YI 4j 这个运作良好 6 d 但在
  • 使用并行工具箱创建具有有限数量工作人员的任务/作业池(线程池)

    我想使用并行计算工具箱来加速一组相互不依赖的函数调用 为了提高效率 我想使用计时器函数 回调函数在我的函数之一完成执行后继续执行更多函数 我事先不知道哪些函数会更快 所以我不能将我的函数集分成几个池并将它们设置为并行 换句话说 我想要一些并
  • 通过 WCF 服务传递枚举

    我需要在与我的 WCF 服务项目分开的项目中定义一个枚举 我正在创建一个包含枚举和其他数据的对象 当我通过 WCF 服务将对象传递给客户端时 我得到一个未找到的信息 Enum public enum Color Red 1 Blue Gre
  • Terraform 上出现“无效的旧提供商地址”错误

    我正在尝试使用 terraform v0 14 3 部署 bitbucket 管道以在谷歌云中创建资源 运行 terraform 命令后 管道失败并出现以下错误 Error Invalid legacy provider address T
  • 如何防止滑动触发点击?

    I use 触摸滑动 http labs rampinteractive co uk touchSwipe demos 创建可滑动的图像列表 我将滑动事件绑定到图像 同时我还绑定了一个单击事件来打开图像的大版本 我的问题是 如果我滑动 它也
  • 什么是换行转换?

    当您尝试将值从一种类型转换为另一种不兼容的类型时 您会在 C 中收到以下错误 CS0039 无法通过引用转换 装箱转换 拆箱转换 包装转换或 null 类型转换将类型 A 转换为 B 我了解如何潜在地解决此问题 但我的问题是关于转换本身的类
  • Rails 迁移使列为 null => true

    我最初创建了一个表 其中列为 t string email default gt null gt false 要求已更改 现在我需要允许电子邮件为空 如何编写迁移以使 null gt true change column null http
  • 根据向量更改列的类别

    我有 2 个数据框 主要的一个df 另一个数据框tmp它描述了列类型df和新格式应转换哪些列 这是一个可重现的示例 df lt data frame var1 c a b c var2 c 1 2 3 var3 c d e f tmp lt
  • Clojure 的惰性如何与 Java/不纯代码的调用交互?

    今天我们在代码中偶然发现了一个问题 无法回答这个 Clojure 问题 Clojure 是严格还是惰性地评估不纯代码 或对 Java 代码的调用 似乎副作用 惰性序列会导致奇怪的行为 以下是我们所知道的导致这个问题的信息 Clojure 有
  • formfield_for_foreignkey 和内联管理

    我只想展示特定比赛中与球队相关的球员 通常 当我这样做时 它会向我显示数据库中的所有球员 这是我的 models py class InningsCard models Model fixture models ForeignKey Fix
  • 构建 Django Webapp 前端的“最佳”方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 提前致谢 这更像是一个 哲学 问题 而不是直接请求对代码的意见 尽管我非常感谢任何人对代码示例的输入 从我记事起 我就一直是一名 传统 开发人员
  • 在 iOS 7 中设置 UINavigationBar 动画(如 Safari)

    在 Safari 中滚动内容时 标题栏会以动画形式显示为较小版本 实现这一点的最佳方法是什么 目前 我正在更改框架的大小 如下所示 void scrollViewDidScroll UIScrollView scrollView Table
  • 发送电子邮件需要设置哪些 php.ini 参数? [复制]

    这个问题在这里已经有答案了 我想从我的 PHP 代码发送电子邮件 但收到警告消息 那么 php ini 参数要设置哪些呢 要检查 更改您的 PHP 邮件配置 打开 php ini 文件 如果您不知道它在哪里 请参见下文 搜索显示为 邮件功能
  • Visual Studio 2010 关闭确认

    我希望VS2010在我关闭整个环境时询问我是否确定要关闭VS2010 不幸的是我在任何地方都找不到这个设置 有人知道吗 AFAIK 没有这样的选择 然而 有一个古老的工具 叫做NoClose http www donationcoder c
  • 如何在 HTML 中实现“全选”复选框?

    我有一个带有多个复选框的 HTML 页面 我还需要一个名为 全选 的复选框 当我选择此复选框时 必须选择 HTML 页面中的所有复选框 我怎样才能做到这一点
  • 从 iframe 中重定向到

    我有一个 Rails 应用程序 它有一个在 iframe 中呈现的表单 并且从我想要的创建操作中redirect to在 iframe 之外并重新渲染整个页面 而不是在 iframe 中 我很好奇有什么想法可以实现这一目标 你能行的 你必须
  • 使用 SymPy codegen 为方程组生成 Fortran 子例程

    以我发现的以前的例子为基础here https stackoverflow com questions 25327845 how to generate fortran subroutine with sympy codegen 我尝试找出
  • 如何在 WordPress 中将 HTML 表单中的数据保存到数据库表中?

    我有一个 WordPress 主题 我正在尝试将 HTML 表单中的数据保存到数据库中 我制作了 HTML 表单并添加了一个 保存并关闭 按钮 该按钮调用名为的 JavaScript 函数saveData 从表单中获取数据并将其发送到add
  • 如何删除 Apple APNS 反馈收到的设备令牌

    我成功通过 PHP 获取 Apple APNS 反馈数据 我得到的结构 经过一些处理 看起来像这样 时间戳 设备令牌 我的问题是如何知道应该从数据库中删除哪些设备令牌并停止向它们发送通知 Regardz Mladjo 时间戳是这里的关键元素
  • 如何从React中的函数参数设置状态[重复]

    这个问题在这里已经有答案了 我将名称和值从子组件传递给handleChange 函数 现在我想将状态设置为与提供的名称匹配的值 但我不知道如何设置 我尝试了这种方式 但它给出了错误 this setState 不是函数 class Pare