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((_) {
      // 进行赋值操作
});
相关推荐
iFlyCai11 小时前
Flutter三棵树核心详解之Widget树完全解析(一)
flutter
GitLqr15 小时前
Flutter 实战:如何轻松实现图片与视频保存到手机相册
flutter·全栈·dart
大龄秃头程序员16 小时前
【小记】第一次全栈踩坑 WebSocket 404
flutter
大龄秃头程序员20 小时前
Dart/Flutter StatefulWidget 生命周期 + ChangeNotifier Listener 泄漏的经典坑。
flutter
大龄秃头程序员1 天前
Flutter踩坑记-WebSocket 通知挤占事件循环
flutter
恋猫de小郭1 天前
Gradle 9.7.0 将提速 Android 构建,Sync 提升接近一倍
android·前端·flutter
iFlyCai1 天前
Flutter三棵树核心详解之Widget树完全解析(二)
flutter·statelesswidget
GitLqr2 天前
Flutter 实战:使用 local_auth 实现生物识别(指纹/Face ID)
安全·flutter·全栈
大龄秃头程序员2 天前
【Flutter 性能踩坑小记】相册选个图卡了
flutter
ljt27249606612 天前
Flutter笔记--get_it&injectable
flutter