过去,我们已经明确警告过调用setState({myProperty})
是异步的,并且 的值this.state.myProperty
在回调或下一个render()
方法之前无效。
使用useState,如何在显式更新状态后获取状态值?
这如何与钩子一起工作?据我所知,setter 函数useState
不接受回调,例如
const [value, setValue] = useState(0);
setValue(42, () => console.log('hi callback');
不会导致运行回调。
我在旧世界的另一个解决方法是(e.g. this.otherProperty = 42)
在类上挂一个实例变量,但这在这里不起作用,因为没有可重用的函数实例(this
在严格模式下没有)。