使用 setState 时 WidgetsBinding.instance.addPostFrameCallback 被多次调用

Nep*_*low 2 dart flutter

由于某种原因,每当我使用 setState((){}); 时 在我传入 WidgetsBinding.instance.addPostFrameCallback() 的函数中,该函数被多次调用。

有什么办法可以克服吗?

注意:setState 内部和外部的代码都会被调用。

Mαπ*_*π.0 5

您可以在渲染完成后通过使用addPostFrameCallback方法添加后帧回调来调用 setState。这只会在构建过程完成后调用一次。

WidgetsBinding.instance.addPostFrameCallback((_) => setState(() {}));
Run Code Online (Sandbox Code Playgroud)