javascript - 动态设置 JSON 值?

标签 javascript json reactjs

我可以做这样的事情吗:

var number = 0;
var values = ["my_component_state_0", "my_component_state_1"];

      this.setState({
          values[number]: evt.target.value
      });

而不是写出:

      this.setState({
        my_component_state_0: evt.target.value
      });

?

我需要遍历一些东西,像这样的东西会很有用。但这似乎太老套了,而且似乎也行不通——是吗? (或类似的东西)

最佳答案

选项 1:

var number = 0;
var values = ["my_component_state_0", "my_component_state_1"];

var newState = {};
newState[values[number]] = evt.target.value;

this.setState(newState);

选项 2: ECMAScript 2015 中的新符号(计算属性名称)- 但 IE 不支持此语法。

var number = 0;
var values = ["my_component_state_0", "my_component_state_1"];

this.setState({
   [values[number]]: evt.target.value
});

关于javascript - 动态设置 JSON 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43128293/

相关文章:

javascript - Angular4 社交媒体 Facebook 分享页面,包含详细信息

javascript - 通过使用 getElementsClassName、Javascript、DOM 的 ReplaceChild 访问 oldChild

java - 解析包含不同对象列表的 JSON 文件

javascript - 多下拉 JSON 过滤器搜索 AngularJS

c# - Json.NET,无法反序列化可为空的类型

javascript - Material-UI 禁用属性不起作用

javascript - 创建一个纯函数来合并对象

javascript - React onMouseOver 不会触发

javascript - 无法使用 react-native 连接到推送器

javascript - 无需导航即可从组件向 Angular 2 路由添加参数