class Signup extends React.Component {
constructor() {
super();
this.state = { count: 0 }
}
hndlChange() {
//here it's okay, It increasing count value
this.setState({ count: this.state.count + 1 });
//but here it printing previous value
console.log(this.state.count);
}
}
我正在调用此函数。因为它增加了count
值但是当我访问它时它返回先前的值。我想在相同的功能中访问最新的更新值我该怎么做。
如何在同一功能中访问最新状态值
答案 0 :(得分:3)
如上所述here React还有callback
个参数。
此外,当您想使用当前值改变状态时,您应该使用函数版本:
this.setState(currentState => ({ count: currentState.count + 1 }), () => {
console.log(this.state.count);
});
答案 1 :(得分:1)
hndlChange();
{
//here it's okay, It increasing count value
this.setState({ count: this.state.count + 1 }, () => {});
}
设置状态是异步的。