【问题标题】:React setState spread operator not supported in Chrome 40Chrome 40 不支持 React setState 扩展运算符
【发布时间】:2016-03-10 14:45:57
【问题描述】:

我正在使用不支持扩展运算符的 chrome 40。我知道更新到最新版本可以解决这个问题,但这里的问题是我无法更新它。

如何在没有展开运算符的情况下重写这段代码?

this.setState({...card});

【问题讨论】:

  • 所以如果我理解正确this.setState(card) 等于this.setState({...card}) ?

标签: javascript reactjs ecmascript-6


【解决方案1】:

在这个例子中,它只是this.setState(card)。即,如果card = {col1: 1},则{...card} 转换为{col1: 1} – 本身:

this.setState( card );

Demonstration

如果你想和非空对象一起使用,你可以使用Object.assign:

this.setState( Object.assign({col0: 0}, card) );

【讨论】:

  • 演示链接已损坏,而且我不明白如何一次将多个键值对分配给状态,我需要更多解释。
猜你喜欢
  • 2019-08-10
  • 2021-01-16
  • 1970-01-01
  • 2020-06-22
  • 2022-12-10
  • 1970-01-01
  • 1970-01-01
  • 2019-01-16
  • 2020-10-04
相关资源
最近更新 更多