ReactJS:使用setState更改对象属性的值

时间:2019-07-12 01:11:52

标签: reactjs object constructor state setstate

构造函数中有以下代码:

this.state = {
              messageBox: { open: false, title: 'title', content: 'content', onConfirm: function() {console.log('confirm')}, onCancel: function() {console.log('cancel')} },
            };

现在,我只想使用setState更改open属性。我该如何实现?

2 个答案:

答案 0 :(得分:1)

使用Spread Operator (ES6)

cardJsx

使用Object.assign

this.setState({ messageBox: { ...this.state.messageBox, open: true } });

答案 1 :(得分:0)

这个问题在这里得到很好的回答:

How to update nested state properties in React

但是IMO最好的答案是指出由于某种原因不直接支持嵌套状态,应该尽可能避免。