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((_) {
      // 进行赋值操作
});
相关推荐
恋猫de小郭6 小时前
感人,Flutter 居然有了一个超实用提案,期待落地
android·前端·flutter
好的佩奇1 天前
Dart 之增强枚举
android·flutter·dart
好的佩奇1 天前
蓝牙之无线电与通信距离
android·flutter·蓝牙
程序员老刘·2 天前
从短剧App的bug看响应式编程在AI时代的优势
flutter·ai编程·跨平台开发
传奇开心果编程3 天前
【Flutter踩坑排雷】第7课:巨型 build 函数坑|全部 UI 写在同一个 build,维护难、隐性异常
android·flutter·ios·移动开发·跨平台·dart·声明式ui
程序员老刘3 天前
从短剧App的bug看响应式编程在AI时代的优势
flutter·ai编程·客户端
恋猫de小郭3 天前
最近 Android 有什么更新:Android Dev Summit 2026 技术解读
android·前端·flutter
好的佩奇4 天前
Dart 之类修饰符
android·flutter·dart
好的佩奇014 天前
Dart 之类修饰符
android·flutter·dart
Jewel1054 天前
文字为什么总是不居中!记录一个bug
android·flutter·ios