javascript - Reactjs @setState 具有动态键值

标签 javascript reactjs javascript-objects

我在 props 中有一个动态对象,我想在状态中发送它

@setState
  key: val
  values:
    another_key: value
    @props.data.option: @props.data.value

但是这种方法不行,我找到了这个解决方案:

  newState = {}
  newState[@props.data.option] = @props.data.value
  this.setState(newState);

但是这种方式设置了state中right的值

最佳答案

这里的问题是您正在处理状态中的嵌套对象,以及整个对象 values当您似乎只想更新 values 中的键子集时,将被替换目的。最好的方法是通过 set 使用 React 的不变性助手。手术。 (https://facebook.github.io/react/docs/update.html)。

使用es6,您可以设置动态 key :

var update = require('react-addons-update');

var newState = update(this.state, {
  values:  {[dynamic_key]: {$set: dynamic_value}}
});

this.setState(newState);

关于javascript - Reactjs @setState 具有动态键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35902946/

相关文章:

javascript - ES6 箭头表示法与 Jquery filter() 的关系?

javascript - 重建选择中的项目

javascript - 使用 css 显示或隐藏表中的元素,javascript 每次都将数据表滚动到顶部

Javascript - 根据属性值从列表中获取特定对象

javascript - 对对象的属性进行排序

javascript - 如何在 javascript 多级对象中动态添加对父对象的引用?

javascript - string.split() 返回额外的项目(函数)

javascript - 通过 props 将父组件的当前状态传递给子组件

node.js - 将 google-cloud 与 webpack 集成时出现问题

javascript - React JS 动态数据获取