flutter - WidgetsBinding.instance.addPostFrameCallback 在使用 setState 时被多次调用
问题描述
出于某种原因,每当我使用 setState((){}); 在我传入 WidgetsBinding.instance.addPostFrameCallback() 的函数中,该函数被多次调用。
有什么办法可以克服吗?
注意:setState 内部和外部的代码都会被调用。
解决方案
您可以在渲染完成后通过使用addPostFrameCallback方法添加后帧回调来调用 setState 。这只会在构建过程完成后调用一次。
WidgetsBinding.instance.addPostFrameCallback((_) => setState(() {}));
推荐阅读
- python - 我们可以在 Python 中设置/修复回归方程中的系数吗
- django - 如何使用 django rest_auth 获得像 xyz.com/template.html/?token=&uid=/ 这样的 url 格式
- php - WHERE {column} IS NOT NULL 的 PHP SQL 查询返回列中为空的行
- angular6 - 如何在构建应用程序中加载库的资产(角度 6)
- vba - 打开其他工作簿后留在活动工作簿中
- python - 使用 matplotlib 绘制 3d 图
- php - 无法调用 AJAX 链接到 PHP 单页应用程序中的内部页面
- linux - 如何从符号文件(脚本文件)中获取源路径
- c++ - 如何将空文件夹和符号链接添加到存档 - libarchive
- python - python3:避免在字典中创建重复键