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((_) {
      // 进行赋值操作
});
相关推荐
lili-felicity16 分钟前
进阶实战 Flutter for OpenHarmony:flutter_contacts 第三方库实战 - 智能通讯录管理系统
flutter
松叶似针2 小时前
Flutter三方库适配OpenHarmony【secure_application】— 五平台隐私保护机制横向对比
flutter·harmonyos
空白诗2 小时前
基础入门 Flutter for OpenHarmony:Opacity 透明度组件详解
flutter
lili-felicity2 小时前
进阶实战 Flutter for OpenHarmony:animations 第三方库实战 - 流畅过渡动画系统
flutter
lili-felicity3 小时前
进阶实战 Flutter for OpenHarmony:geolocator 第三方库实战 - GPS定位与位置服务系统
flutter
lili-felicity4 小时前
进阶实战 Flutter for OpenHarmony:webview_flutter 第三方库实战 - 智能内嵌浏览器系统
flutter
lili-felicity4 小时前
进阶实战 Flutter for OpenHarmony:ReorderableListView 组件实战 - 可拖拽排序列表系统
flutter
lili-felicity4 小时前
进阶实战 Flutter for OpenHarmony:ExpansionPanelList 组件实战 - 可折叠信息面板系统
flutter
早點睡39014 小时前
基础入门 Flutter for OpenHarmony:Table 表格组件详解
flutter