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((_) {
      // 进行赋值操作
});
相关推荐
Jolyne_15 小时前
flutter学习(一)环境搭建及基础速通
flutter
MonkeyKing715515 小时前
Flutter状态管理实战:全局、局部、页面状态拆分指南
前端·flutter
MonkeyKing715517 小时前
Flutter异步状态统一处理实战:告别混乱,优雅管理请求与加载
flutter
MonkeyKing715517 小时前
Flutter项目结构与模块化、组件化、插件化
flutter
UnicornDev20 小时前
【Flutter x HarmonyOS 6】魔方计时APP——计时逻辑实现
flutter·华为·harmonyos·鸿蒙·鸿蒙系统
用户游民20 小时前
Flutter Widget、Element、RenderObject 关联以及实现原理
flutter
用户954215733348520 小时前
彻底告别 `.w/.h/.sp`!Flutter 屏幕适配的底层玩法,一次接入全局生效
flutter
liulian091620 小时前
Flutter for OpenHarmony 跨平台开发:密码生成器功能实战指南
flutter
可有道理21 小时前
Flutter 抽象类、接口与mixin
flutter
MonkeyKing71551 天前
Flutter路由高级管理实战:守卫、深链、多栈与Tab路由全解析
flutter