当我声明以下初始状态时:
getInitialState: function() {
return {
isValid: false,
metaData: {
age: 12,
content_type: 'short_url'
}
};
},
我使用 setState
来更新状态,代码如下:
...
let newMetaData = { age: 20 };
...
this.setState({
isValid: true,
metaData: newMetaData
});
...
最终的this.state.metadata
对象只定义了年龄属性。但据我所知,this.setState()
会将其参数合并到现有状态中。那为什么这里不起作用,难道这不应该是递归合并吗?
在React/ES6中有一种方法可以将新对象属性合并到状态对象属性中吗?