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((_) {
      // 进行赋值操作
});
相关推荐
无知的前端8 分钟前
Flutter常见问题以及解决方案
前端·flutter·dart
无知的前端13 分钟前
一文精通-Mixin特性
flutter·面试·dart
_大学牲1 小时前
Flutter 勇闯2D像素游戏之路(四):与哥布林战斗的滑步魔法师
flutter·游戏·游戏开发
ujainu小1 小时前
Flutter 视频播放全攻略:video_player 2.10.1 插件全平台集成与实战
flutter·音视频
搬砖的kk3 小时前
Flutter UUID 鸿蒙平台适配实践 - 全版本测试与验证
flutter·华为·harmonyos
梧桐ty3 小时前
硬件交互联动:基于鸿蒙的Flutter物联网应用开发实战
flutter·华为·harmonyos
ujainu小3 小时前
Flutter 全局Toast解决方案:fluttertoast 9.0.0 全平台集成与实战
flutter·fluttertoast
庄雨山4 小时前
Flutter模块化开发实战:跨端视角下与开源鸿蒙开发的异同及融合思路
flutter·openharmony
西西学代码5 小时前
Flutter---对话框
flutter