首页 > 其他分享 >Flutter控制台提示setState() or markNeedsBuild() called during build错误

Flutter控制台提示setState() or markNeedsBuild() called during build错误

时间:2024-10-23 18:47:02浏览次数:7  
标签:addPostFrameCallback WidgetsBinding instance build during setState Flutter 赋值

前言

当我在initState函数中对Provider进行赋值时,此时会出现setState() or markNeedsBuild() called during build.的错误

解决办法

使用WidgetsBinding.instance.addPostFrameCallback来解决这个问题。

注意:不要使用addPersistentFrameCallback,每一帧绘制完成后都会执行addPersistentFrameCallback

addPostFrameCallback 确保在当前帧绘制完成后再执行赋值操作。这样可以避免在 build 过程中调用 setState 导致的错误。

WidgetsBinding.instance.addPostFrameCallback((_) {
      // 进行赋值操作
});

 

标签:addPostFrameCallback,WidgetsBinding,instance,build,during,setState,Flutter,赋值
From: https://blog.csdn.net/nonagontech/article/details/143191289

相关文章

  • Protocol Buffer Error on compile during GOOGLE_PROTOBUF_MIN_PROTOC_VERSION check
    ProtocolBufferErroroncompileduringGOOGLE_PROTOBUF_MIN_PROTOC_VERSIONcheck出现这个问题一般是安装了多个版本protobufhttps://stackoverflow.com/questions/35744529/protocol-buffer-error-on-compile-during-google-protobuf-min-protoc-version-checkhttps://b......
  • 使用electron-builder打包 vue3 项目 exe
    1:配置代理 1)命令行执行  npmconfigedit 2)在打开的记事本添加如下代理:     electron_mirror=https://npmmirror.com/mirrors/electron/   registry=https://registry.npmmirror.com   注意 electron_mirror的路径不是这个https://registry.npmmir......
  • Nuxt.js 应用中的 builder:generateApp 事件钩子详解
    title:Nuxt.js应用中的builder:generateApp事件钩子详解date:2024/10/23updated:2024/10/23author:cmdragonexcerpt:builder:generateApp是Nuxt.js的一个生命周期钩子,它在生成应用程序之前被调用。这个钩子为开发者提供了一个机会,可以在生成过程开始之前修改或配置......
  • 鸿蒙Flutter实战:混合开发
    鸿蒙Flutter实战:混合开发鸿蒙Flutter混合开发主要有两种形式。1.基于har将fluttermodule打包成har包,在原生鸿蒙项目中,以har包的方式引入。其优点是主项目开发者可以不关注Flutter实现,不需要安装配置Flutter开发环境,缺点是无法及时修改Flutter代码,也不存在热重载。2.基于源码......
  • 鸿蒙Flutter 实战:使用第三方插件
    鸿蒙Flutter实战:使用第三方插件在鸿蒙Flutter开发中,如果涉及到使用原生功能,就要使用插件。使用插件有两种方式,一种是自己编写原生ArkTS代码,在Dart侧调用。另外一种是使用第三方代码。方式一:编号原生ArkTS代码该方案可以使用PlatformView或者MethodChannel调用。Platf......
  • 使用 ArkTs 开发 Flutter 鸿蒙平台插件
    使用ArkTs开发Flutter鸿蒙平台插件本文讲述如何开发一个Flutter鸿蒙插件,如何实现Flutter与鸿蒙的混合开发,以及双端消息通信。Flutter侧,编写MethodChannelconstMethodChannel_methodChannel=MethodChannel('xxx.com/app');///获取tokenstaticFuture<dyna......
  • 鸿蒙 Flutter 开发中集成 Webview
    鸿蒙Flutter开发中集成Webview主要有两种方案使用第三方库如使用flutter_inappwebview插件,在pubspec.lock文件中配置:flutter_inappwebview:git:url:https://gitee.com/openharmony-sig/flutter_inappwebview.gitpath:"flutter_inappwebview"编......
  • 鸿蒙Flutter实战:02-Windows环境搭建踩坑指南
    鸿蒙Flutter实战:02-Windows环境搭建踩坑指南环境搭建1.下载FlutterSDK,配置环境变量鸿蒙FlutterSDK需要在Gitee下载。目前建议下载dev分支代码。需要配置以下用户变量注意鸿蒙开发需要安装Java和配置相关变量#fluttersdk镜像FLUTTER_STORAGE_BASE_URL=https://s......
  • Nuxt.js 应用中的 build:manifest 事件钩子详解
    title:Nuxt.js应用中的build:manifest事件钩子详解date:2024/10/22updated:2024/10/22author:cmdragonexcerpt:build:manifest是Nuxt.js中的一个生命周期钩子,它在Vite和Webpack构建清单期间被调用。利用这个钩子,开发者可以自定义Nitro渲染在最终HTM......
  • Nuxt.js 应用中的 build:done 事件钩子详解
    title:Nuxt.js应用中的build:done事件钩子详解date:2024/10/21updated:2024/10/21author:cmdragonexcerpt:build:done是Nuxt.js的一个生命周期钩子,它在Nuxt应用的打包构建器完成运行后被调用。这个钩子为开发者提供了一个在构建过程结束后执行特定逻辑的......