一、数据如下
this.state = {
login: {
username: '',
password: ''
},
}
举例:输入框输入内容时改变username或者password
二、错误更新
错误方法一:
this.setState({
login: {
username: 'admin'
}
})
- 这样做,login对象的属性全部替换为只有username一个属性,其它属性丢失。
错误方法二:
this.setState({
'login.username': 'admin'
})
- 熟悉vue,因为有数据绑定,其它属性值并不会丢失。但是react这样更新数据不会成功
三、正确更新
const login = this.state.login
login.username = 'admin'
this.setState({ login })
- 得到login的地址,再对对象属性赋值,更新对象