Flutter控制台提示setState() or markNeedsBuild() called during build错误

前言

当我在initState函数中对Provider进行赋值时,此时会出现setState() or markNeedsBuild() called during build.的错误

解决办法

使用WidgetsBinding.instance.addPostFrameCallback来解决这个问题。

注意:不要使用addPersistentFrameCallback,每一帧绘制完成后都会执行addPersistentFrameCallback

addPostFrameCallback 确保在当前帧绘制完成后再执行赋值操作。这样可以避免在 build 过程中调用 setState 导致的错误。

复制代码
WidgetsBinding.instance.addPostFrameCallback((_) {
      // 进行赋值操作
});
相关推荐
傅里叶11 小时前
Flutter项目使用 buf.build
flutter
恋猫de小郭12 小时前
iOS 26 开始强制 UIScene ,你的 Flutter 插件准备好迁移支持了吗?
android·前端·flutter
yuanlaile13 小时前
Flutter开发HarmonyOS鸿蒙App商业项目实战已出炉
flutter·华为·harmonyos
CodeCaptain14 小时前
可直接落地的「Flutter 桥接鸿蒙 WebSocket」端到端实施方案
websocket·flutter·harmonyos
stringwu14 小时前
Flutter 中的 MVVM 架构实现指南
前端·flutter
消失的旧时光-19431 天前
Flutter 异步体系终章:FutureBuilder 与 StreamBuilder 架构优化指南
flutter·架构
消失的旧时光-19431 天前
Flutter 异步 + 状态管理融合实践:Riverpod 与 Bloc 双方案解析
flutter
程序员老刘1 天前
Flutter版本选择指南:避坑3.27,3.35基本稳定 | 2025年10月
flutter·客户端
—Qeyser2 天前
Flutter网络请求Dio封装实战
网络·flutter·php·xcode·android-studio