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((_) {
      // 进行赋值操作
});
相关推荐
kirk_wang6 小时前
Flutter调用HarmonyOS NEXT原生相机拍摄&相册选择照片视频
flutter·华为·harmonyos
sunly_9 小时前
Flutter:carousel_slider 横向轮播图、垂直轮播公告栏实现
flutter
星释9 小时前
鸿蒙Flutter实战:17-无痛上架审核指南
flutter·华为·harmonyos
lichong95115 小时前
【Flutter&Dart】MVVM(Model-View-ViewModel)架构模式例子-http版本(30 /100)
android·flutter·http·架构·postman·win·smartapi
GY-9316 小时前
Flutter中PlatformView在鸿蒙中的使用
flutter·harmonyos
allanGold17 小时前
【Flutter】platform_view之AppKitView在哪个flutter版本添加的
flutter
sunly_20 小时前
Flutter:进步器,数量加减简单使用
flutter
酱子姐1 天前
Flutter 架构原理
flutter
Callback_heaven1 天前
Flutter+vsCode 安装问题记录
ide·vscode·flutter
@福者1 天前
2025 最新flutter面试总结
flutter·面试·职场和发展