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((_) {
      // 进行赋值操作
});
相关推荐
左有道4 小时前
用 Flutter 做一个更顺手的日历组件:calendarview_flutter
flutter
一枚菜鸟_6 小时前
Flutter + Cursor 一天出 App?这 3 个坑让开发者多花了 3 小时
flutter·cursor
心中有国也有家11 小时前
AtomGit Flutter 鸿蒙客户端:零外部资源的应用打包策略
android·javascript·flutter·华为·harmonyos
心中有国也有家11 小时前
AtomGit Flutter 鸿蒙客户端:为 E-Brufen 注入情感节律的文案设计哲学
javascript·学习·flutter·华为·harmonyos
恋猫de小郭11 小时前
Fluter 共享内存多线程正在落地,IsolateGroupBound 来了
android·前端·flutter
太子釢1 天前
Flutter 与 Native 混合开发策略调研与方案对比
flutter
西西学代码1 天前
Flutter---Stack
flutter
ZZZMMM.zip1 天前
基于鸿蒙PC与鸿蒙Flutter框架构建AI本地生活服务平台
人工智能·flutter·华为·harmonyos·鸿蒙
木叶丸1 天前
AI 编程概念与 Harness 工程实践入门
人工智能·flutter·ios
程序员老刘2 天前
腾讯混元Hy3在Flutter项目中的实战体验
flutter·ai编程