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((_) {
      // 进行赋值操作
});
相关推荐
愚者Pro5 小时前
Flutter Widget组件学习(专为 Uniapp 转 Flutter 定制)
vue.js·学习·flutter·uni-app
Flynt8 小时前
升级Flutter 3.44,我踩了HCPP和AGP 9的坑
android·flutter·dart
程序员老刘9 小时前
Flutter 3.44 更新要点:很重要但暂时先别升级
flutter·ai编程·客户端
程序员老刘·12 小时前
Flutter版本选择指南:3.44惊艳发布但需观望 | 2026年5月
flutter·ai编程·跨平台开发·客户端开发
●VON12 小时前
鸿蒙Flutter实战:Emoji心情选择器组件
flutter·华为·harmonyos
●VON13 小时前
鸿蒙Flutter实战:列表延时错峰入场动画
flutter·华为·harmonyos
测试开发-学习笔记15 小时前
从0开始搭建自动化(二)-flutter
运维·flutter·自动化
●VON15 小时前
鸿蒙Flutter实战:零依赖手写日历热力图
flutter·华为·harmonyos
雪铃儿16 小时前
改一张图等三天审核:flutter_patcher 0.1.3 给资源热更也开了口子
android·flutter
●VON16 小时前
鸿蒙Flutter实战:从零手写滑动操作组件替代Dismissible
flutter·华为·harmonyos