免责声明:我不认为以下方法是一种好的做法。我可能或必须改用useEffect
,但我仍然想评估现有代码的正确性。
在挂钩和功能组件的上下文中,以下假设是否正确?
{
setState(newValue);
setTimeout(() => {
//Here code expects that re-rendering of all components affected by changing state has been completed.
}, 0);
}
我可以确定在setTimeout
之后重新渲染已经完成还是不能保证?
这个假设对当前的React版本是否正确?如果否,是否有特定行为打破它?
它会受到即将到来的React更改的影响吗?
答案 0 :(得分:0)
不能保证。为了确保您的状态已更改,您将需要像这样使用useEffect
useEffect(() => {
// do something now that state has changed
}, [state])