首页 编程 技术 应用
Warning: flushSync was called from inside a lifecycle method. 编程 | 前端编程 | React
React正在刷新渲染中,依然调用flushSync会触发这个警告信息,说明这个动作是多余,建议删除这条语句。

React 18之后提供新的API即flushSync,它会强制 React 同步刷新提供的回调函数中的任何更新,这确保了 DOM 会被立即 更新。

注意:

flushSync 会对性能产生很大影响。尽量少用。

flushSync 可能会迫使悬而未决的 Suspense 边界显示其 fallback 的状态。

flushSync 也可以运行待定副作用,并在返回之前同步应用它们所包含的任何更新。

当需要刷新内部的更新时,flushSync 也可以在回调外部刷新更新。例如,如果有来自点击的未决更新。React 可能会在刷新回调之前刷新这些更新。

当我们使用flushSync时候,收到一个警告信息如下:

Warning: flushSync was called from inside a lifecycle method. React cannot flush when React is already rendering. Consider moving this call to a scheduler task or micro task.

这个信息告诉我们的是:React正在刷新渲染中,依然调用flushSync会触发这个警告信息,说明这个动作是多余,建议删除这条语句。

 

点击阅读全文

发表 2023-02-02 21:53:39 颛顼 →

京ICP备16053008号-4 公安备案号11010502049515

©️2022 码嗨路书版权所有,威廉宏业科技出品