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((_) {
      // 进行赋值操作
});
相关推荐
张风捷特烈19 小时前
Flutter 伪3D绘制#03 | 轴测投影原理分析
android·flutter·canvas
马拉萨的春天1 天前
flutter 项目结构目录以及pubspec.ymal等文件描述
flutter
bst@微胖子2 天前
Flutter项目之登录注册功能实现
开发语言·javascript·flutter
小墙程序员2 天前
Flutter 教程(十一)多语言支持
flutter
无知的前端2 天前
Flutter 一文精通Isolate,使用场景以及示例
android·flutter·性能优化
yidahis2 天前
Flutter 运行新建项目也报错?
flutter·trae
木马不在转2 天前
Flutter-权限permission_handler插件配置
flutter
江上清风山间明月2 天前
一周掌握Flutter开发--9. 与原生交互(下)
flutter·交互·原生·methodchannel
GeniuswongAir2 天前
Flutter极速接入IM聊天功能并支持鸿蒙
flutter·华为·harmonyos
sayen2 天前
记录 flutter 文本内容展示过长优化
前端·flutter