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