constructor(props) {
super(props);
this.state = fromJS({
person: {
name: 'xuxuan',
age: 12
}
})
console.log('**********初始state')
console.log(this.state)
console.log('**********初始state')
this.handleClick = this.handleClick.bind(this);
}
handleClick(e) {console.log(this.state)
this.setState(preState => {
console.log('**********click...state')
console.log(preState);
console.log('**********click...state')
return preState.update(['person', 'name'], v => v + 'update')
})
}
初始设置state 为immutable 结构,处理click时候,setState传入function的preState不是Map机构
报错:preSate没有update 方法。
这种方式setState如何操作immutable数据??
你这种用法是错误的。
正确用法
不建议你在State中使用ImmutableJS。一般用在Reducer层。