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((_) {
      // 进行赋值操作
});
相关推荐
Zender Han3 小时前
Flutter 新版 Google Sign-In 插件完整解析(含示例讲解)
android·flutter·ios·web
weixin_411191845 小时前
flutter中WebView的使用及JavaScript桥接的问题记录
javascript·flutter
QuantumLeap丶11 小时前
《Flutter全栈开发实战指南:从零到高级》- 18 -自定义绘制与画布
android·flutter·ios
你听得到1112 小时前
Web前端们!我用三年亲身经历,说说从 uniapp 到 Flutter怎么转型的,这条路我爬过,坑我踩过
前端·flutter·uni-app
fouryears_2341712 小时前
Android 与 Flutter 通信最佳实践 - 以分享功能为例
android·flutter·客户端·dart
玲珑Felone16 小时前
flutter 状态管理--InheritedWidget、Provider原理解析
android·flutter·ios
心随雨下19 小时前
Flutter依赖注入使用指南
flutter
sunly_20 小时前
Flutter:滑动删除
flutter
幸福专买店1 天前
【Flutter】flutter 中 包裹内容显示 的设置方式
前端·javascript·flutter