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((_) {
      // 进行赋值操作
});
相关推荐
加农炮手Jinx2 小时前
Flutter for OpenHarmony: Flutter 三方库 icon_font_generator 自动化将 SVG 图标集转化为字体文件(鸿蒙矢量资源全自动管理)
运维·flutter·华为·自动化·harmonyos·devops
松叶似针5 小时前
Flutter三方库适配OpenHarmony【doc_text】— Dart 层架构与 Platform Interface 模式解析
flutter·harmonyos
早點睡39010 小时前
进阶实战 Flutter for OpenHarmony:Sliver 系列组件实战 - 折叠头部与吸顶效果系统
flutter
早點睡39010 小时前
Flutter for Harmony 跨平台开发实战:希尔伯特曲线——空间填充的无限递归
flutter
lqj_本人12 小时前
Flutter三方库适配OpenHarmony【apple_product_name】FlutterPlugin接口实现详解
flutter
lqj_本人12 小时前
Flutter三方库适配OpenHarmony【apple_product_name】插件注册与生命周期管理
flutter
早點睡39012 小时前
进阶实战 Flutter for OpenHarmony:AnimatedBuilder 组件实战 - 自定义动画系统
flutter
程序员老刘13 小时前
跨平台开发地图:React Native 0.84 强力发布,Hermes V1 登顶 | 2026年2月
flutter·客户端
松叶似针14 小时前
Flutter三方库适配OpenHarmony【doc_text】— .docx 解析全流程:从 ZIP 解压到 XML 提取
xml·flutter·harmonyos