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((_) {
      // 进行赋值操作
});
相关推荐
SoaringHeart6 小时前
Flutter调试组件:打印任意组件尺寸位置信息 NRenderBox
前端·flutter
九狼11 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
_squirrel13 小时前
记录一次 Flutter 升级遇到的问题
flutter
Haha_bj14 小时前
Flutter——状态管理 Provider 详解
flutter·app
MakeZero17 小时前
Flutter那些事-展示型组件篇
flutter
赤心Online17 小时前
从零开始掌握 Shorebird:Flutter 热更新实战指南
flutter
wangruofeng18 小时前
AI 助力 Flutter 3.27 升级到 3.38 完整指南:两周踩坑与实战复盘
flutter·ios·ai编程
Zsnoin能2 天前
Flutter仿ios液态玻璃效果
flutter
傅里叶2 天前
iOS相机权限获取
flutter·ios
Haha_bj2 天前
Flutter—— 本地存储(shared_preferences)
flutter