我的项目是 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
似乎是只读的,因此无法变异。如您所提到的,传递空对象可以修复错误,因为它会改变新创建的空对象,并elementStyle
和style
与其合并,同时保持原样elementStyle
和style
。
希望这有助于澄清。您可以在 MDN 上阅读有关 Object.assign 的更多信息。