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((_) {
      // 进行赋值操作
});
相关推荐
早點睡39015 小时前
进阶实战 Flutter for OpenHarmony:CustomPainter 组件实战 - 自定义绘图与画板
flutter
早點睡39016 小时前
进阶实战 Flutter for OpenHarmony:video_player 第三方库实战
flutter
键盘鼓手苏苏18 小时前
Flutter for OpenHarmony:csslib 强力 CSS 样式解析器,构建自定义渲染引擎的基石(Dart 官方解析库) 深度解析与鸿蒙适配指南
css·flutter·harmonyos
lili-felicity20 小时前
进阶实战 Flutter for OpenHarmony:palette_generator 第三方库实战 - 图片配色提取
flutter
lili-felicity1 天前
进阶实战 Flutter for OpenHarmony:syncfusion_flutter_charts 第三方库实战 - 企业级图表系统
flutter
2501_921930831 天前
进阶实战 Flutter for OpenHarmony:ShaderMask 着色器系统 - 高级视觉效果实现
flutter
2501_921930831 天前
进阶实战 Flutter for OpenHarmony:ClipPath 自定义裁剪系统 - 高级视觉效果实现
flutter
2501_921930831 天前
进阶实战 Flutter for OpenHarmony:复合动画与粒子系统 - 高级视觉效果实现
flutter
2501_921930831 天前
进阶实战 Flutter for OpenHarmony:Transform 变换矩阵系统 - 高级视觉效果实现
flutter
2501_921930831 天前
进阶实战 Flutter for OpenHarmony:自定义仪表盘系统 - 高级数据可视化实现
flutter·信息可视化