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

时间:2019-11-17 16:06:51

标签: flutter dart

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

有什么办法可以克服吗?

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

1 个答案:

答案 0 :(得分:0)

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

WidgetsBinding.instance.addPostFrameCallback((_) => setState(() {}));