[英]how to avoid mutating this.state or redux object
例如,如果我想对this.state
或某个其他对象(例如Object.keys(this.state).map()
执行任何操作,以访问该对象中的所有值。
这样做是不好的做法吗?
Object.keys(this.state).map(k => this.state[k]);
谢谢
在React中,您只应使用this.setState()
this.state
this.setState()
以便React知道何时重新渲染组件。
您编写的代码行很好,因为您实际上并没有在修改状态对象。 您已经使用Object.keys
创建了一个新数组。
但是,如果您要复制this.state
而不进行修改,请尝试以下操作。
const state = {...this.state};
// Or
const state = Object.assign({}, this.state);
反应突变状态。
let state = {
age : 25,
name : 'Robin',
friends: ['Barney', 'Ted']
}
改变年龄
this.setState({age: 26})
更换名字
this.setState({name: 'Lily'})
添加好友
this.setState({
friends: this.state.friends.concat(['Marshall'])
})
尝试使用此库不变性帮助器进行复杂的状态更新。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.