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

为什么我不能在React中设置此状态?

湛光明
2023-03-14

我正在尝试设置React组件中的状态,以便它在子组件的输入值发生变化时进行更改。我可以console.logevent.target.nameevent.target.value并获得预期的字符串,但是我不能编译这个handlechange函数

handleChange: function(event){
    this.setState({event.target.name: event.target.value});
  },

我很困惑,因为我在我的this.setstate({event.target.name:event.target.value})语句的行中得到了错误:意外标记

<div className='inputrow'>
    <label className='orange'></label>
    <label className='inputname'>Company</label>
    <input name='company' onChange={this.props.handleChange} className='inputtext'></input>
</div>

我的getInitialState是:

getInitialState: function(){
    return {
        'company': '',
        'sensor': '',
        'trigger': '',
        'sourceip': '',
        'sourceport': '',
        'destip': '',
        'destport': '',
        'sourcename': '',
        'destname': '',
        'comments': '',
        'creator': ''
    };
  }

共有1个答案

边国安
2023-03-14

在ES6之前,您不能在对象文本中使用动态键。

handleChange: function(event){
  var obj = {};
  obj[event.target.name] = event.target.value;
  this.setState(obj);
},
 类似资料:
  • 我在Ubuntu中安装JDK有困难,我不能让它工作。谁能让我知道我做错了什么? 1-我从Oracle的网站下载了jdk-6u35-linux-i586.bin 2-我将下载的文件移到了家里/ 3-我使用chmod+x jdk-6u35-linux-i586.bin将其转换为可执行文件 4-我使用sudo./jdk1.6.0_35执行它 5-我使用mv jdk1.6.0_35//usr/local/

  • 我在一个三元组中使用了< code>this.setState(),并试图找出它返回的内容。文档没有提供任何关于它返回什么的信息。

  • 问题内容: 全局变量在Python中如何工作?我知道全局变量是有害的,我只是在做实验。 这在python中不起作用: 我收到一个错误: 我究竟做错了什么? 问题答案: 您需要声明: 在Python中, 您分配的 变量默认情况下成为局部变量。您需要使用将它们声明为全局变量。另一方面,您 引用但未分配的 变量不会自动成为局部变量。这些变量指的是封闭范围内最接近的变量。 Python 3.x引入了类似于

  • 由于找不到文件,send方法返回null BufferedReader。Eclipse只是说有一个NullPointerException是因为print方法,但是当我移除所有try/catch语句时,Eclipse说我需要编写方法抛出IOException或FileNotFoundException,它也允许我这样做,如果我不这样做,它就抛出一个FileNotFoundException。然而,

  • 我使用JavaFX Scene Builder1.1创建了一个FXML文件。默认情况下创建AnchorPane。为什么我不能修改resizable属性?

  • 问题内容: 试图弄清楚React的基础知识。 查看此页面上的第二个示例:https : //facebook.github.io/react/ 我看到tick()函数设置Timer类的状态,将前一个值加1。 但是,当我尝试实现自己的简单Counter类时,它失败了,并且出现控制台错误,提示 无法读取未定义的setState属性。 一些谷歌搜索显示我必须将其绑定到增量函数。但是,为什么在我看到的第一