State问题?

#1
this.state = {
      formData: {
          username: '',
          password: '',
      }
}

setFormData() {
    this.setState({formData: {
       ...this.state.formData, 
      username: 'hello',
    }});
}

请问这样嵌套了一层,更新state会影响性能吗?

#2

不会影响性能

1 Like
#3

通常可以忽略不计, 可以使用 immutable.js 把 state 变为不可变数据类型, 避免深复制

#4

@suisuijiang 不需要用immutable.js这样通过扩展运算符就实现了immutable效果,具体可以看官方文档性能优化章节the-power-of-not-mutating-data