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((_) {
      // 进行赋值操作
});
相关推荐
帅气马战的账号5 小时前
开源鸿蒙Flutter组件化开发:轻量架构与多场景适配
flutter
子春一7 小时前
Flutter 与原生平台深度集成:打通 iOS 与 Android 的最后一公里
android·flutter·ios
克喵的水银蛇9 小时前
Flutter 网络请求实战:Dio 封装 + 拦截器 + 数据解析
网络·flutter
子春一11 小时前
Flutter 构建系统深度解析:从 pubspec.yaml 到 release 包的全链路掌控
flutter
帅气马战的账号12 小时前
开源鸿蒙+Flutter:跨端开发的组件化重构与性能跃迁
flutter
QuantumLeap丶12 小时前
《Flutter全栈开发实战指南:从零到高级》- 23 -混合开发与WebView
android·flutter·ios
雨季66613 小时前
Flutter 智慧教育服务平台:跨端协同打造全场景教学生态
flutter
kirk_wang13 小时前
Flutter Image Editor 适配鸿蒙HarmonyOS平台实践
flutter·华为·harmonyos
帅气马战的账号14 小时前
开源鸿蒙+Flutter:分布式能力驱动的跨端组件化开发实战
flutter
小a彤15 小时前
Flutter 跨平台开发框架深度解析与最佳实践
flutter