未捕获类型错误:无法将对象'#<Object>'的只读属性'background'分配给只读



我的项目是 babel7。

render() {
  const {elementStyle, style } = this.props;
  return (
            <span style={Object.assign(elementStyle, style)}>{label} 
            </span>
        )
}
/

/Object.assign(elementStyle, style) --> error.但我纠正了 Object.assign({}, elementStyle, style) 正在工作。为什么不工作?? 我调试了这段代码。起初可以工作,但是在重新编写时,此代码是错误的...我不知道请帮帮我。

Object.assign 的第一个参数是其他参数将合并到的目标,但第一个参数被函数更改并返回。

Object.assign() 方法用于将所有可枚举自己的属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。

elementStyle似乎是只读的,因此无法变异。如您所提到的,传递空对象可以修复错误,因为它会改变新创建的空对象,并elementStylestyle与其合并,同时保持原样elementStylestyle

希望这有助于澄清。您可以在 MDN 上阅读有关 Object.assign 的更多信息。

相关内容

最新更新