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((_) {
      // 进行赋值操作
});
相关推荐
柒儿吖5 分钟前
Flutter跨平台三方库file_selector在鸿蒙中的使用指南
flutter·华为·harmonyos
柒儿吖9 分钟前
Flutter跨平台三方库url_launcher在鸿蒙中的使用指南
flutter·华为·harmonyos
奋斗的小青年!!1 小时前
Flutter跨平台开发适配鸿蒙:骨架屏,让加载不那么“煎熬“
flutter·harmonyos·鸿蒙
hahjee1 小时前
Flutter跨平台三方库local_auth在鸿蒙中的使用指南
flutter·华为·harmonyos
kirk_wang1 小时前
Flutter艺术探索-Flutter热重载与热重启原理
flutter·移动开发·flutter教程·移动开发教程
kirk_wang11 小时前
Flutter艺术探索-Flutter调试工具:DevTools使用指南
flutter·移动开发·flutter教程·移动开发教程
小雨下雨的雨13 小时前
Flutter 框架跨平台鸿蒙开发 —— SingleChildScrollView 控件之长内容滚动艺术
flutter·ui·华为·harmonyos·鸿蒙
牛马11113 小时前
Flutter 多语言
前端·flutter
getapi14 小时前
在 Google Play 上更新你已上架的 Flutter 应用
flutter·googlecloud·web app
奋斗的小青年!!16 小时前
Flutter跨平台开发适配OpenHarmony:文件系统操作深度实践
flutter·harmonyos·鸿蒙