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((_) {
      // 进行赋值操作
});
相关推荐
火柴就是我9 小时前
学习一些常用的混合模式之BlendMode. dst_atop
android·flutter
火柴就是我10 小时前
学习一些常用的混合模式之BlendMode. dstIn
android·flutter
火柴就是我12 小时前
学习一些常用的混合模式之BlendMode. dst
android·flutter
前端不太难12 小时前
Sliver 为什么能天然缩小 rebuild 影响面
flutter·性能优化·状态模式
带带弟弟学爬虫__14 小时前
Flutter 逆向想学却无从下手?
flutter
行者9614 小时前
Flutter跨平台开发:颜色选择器适配OpenHarmony
flutter·harmonyos·鸿蒙
不爱吃糖的程序媛14 小时前
深度解析OpenHarmony跨平台框架生态:RN、Flutter、Cordova、KMP四大方向全梳理
flutter
kirk_wang15 小时前
Flutter艺术探索-Flutter样式系统:TextStyle与主题配置
flutter·移动开发·flutter教程·移动开发教程
火柴就是我15 小时前
Flutter 混合模式下:saveLayer 混合注意点
android·flutter
AiFlutter15 小时前
四、动画图表(03):饼图
flutter·低代码·低代码平台·aiflutter·aiflutter低代码