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 IOS 真机 Widget 错误。Widget 安装后系统中没有
flutter·ios·widget·ios widget
hepherd5 小时前
Flutter 环境搭建 (Android)
android·flutter·visual studio code
bst@微胖子1 天前
Flutter之路由和导航
flutter
亚洲小炫风1 天前
flutter 中各种日志
前端·flutter·日志·log
louisgeek1 天前
Flutter 动画之 Implicit 隐式动画
flutter
勤劳打代码1 天前
游刃有余 —— Isolate 轻量化实战
flutter·github·dart
RichardLai881 天前
[Flutter 基础] - Flutter基础组件 - Text
android·flutter
Ya-Jun2 天前
常用第三方库精讲:cached_network_image图片加载优化
android·flutter
WDeLiang2 天前
Flutter 环境搭建
flutter·ios·visual studio code