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((_) {
      // 进行赋值操作
});
相关推荐
念格1 小时前
Flutter 仿微信输入框最佳实践:自适应高度 + 超行数智能切换全屏
前端·flutter
程序员老刘2 小时前
《Flutter跨平台开发核心技巧与应用》新书来了
flutter·ai编程·客户端
空中海4 小时前
7.1 Flutter 性能模型
flutter
weixin_443478514 小时前
Flutter学习之第三方组件:视频播放器控件
学习·flutter·音视频
空中海8 小时前
11 Flutter 进阶与原理解析
flutter
于慨9 小时前
项目flutter运行环境汇总
flutter
空中海9 小时前
10 Flutter 测试与发布
flutter
空中海9 小时前
12 Flutter 实战项目与最佳实践
flutter
里欧跑得慢19 小时前
Flutter 测试全攻略:从单元测试到集成测试的完整实践
前端·css·flutter·web