我的项目是babel7。
render() {
const {elementStyle, style } = this.props;
return (
<span style={Object.assign(elementStyle, style)}>{label}
</span>
)
}
// Object.assign(elementStyle,style)->错误。 但我正确的Object.assign({},elementStyle,style)正在工作。 和为什么不起作用? 我调试了此代码。起初是可以使用的,但是当重新输入代码时,此代码是错误的... 我不知道,请帮助我。
答案 0 :(得分:0)
Object.assign
的第一个参数是其他参数将合并到的目标,但是该第一个参数被变异并由函数返回。
Object.assign()方法用于将所有可枚举的自身属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。
elementStyle
似乎是只读的,因此无法进行突变。如您所述,传递空对象可修复错误,因为它会突变新创建的空对象,并将elementStyle
和style
与之合并,同时保留elementStyle
和{{1} }。
希望这有助于澄清。您可以阅读有关Object.assign on MDN的更多信息。