首页 > 解决方案 > WidgetsBinding.instance.addPostFrameCallback 在使用 setState 时被多次调用

问题描述

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

有什么办法可以克服吗?

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

标签: flutterdart

解决方案


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

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

推荐阅读