首页 > 解决方案 > Flutter Bad State:Future 已经完成,需要更新布局信息

问题描述

刚开始在我的应用程序上工作,我得到了

Bad state: Future already completed

When the exception was thrown, this was the stack: 
#1      WidgetsBinding.drawFrame.<anonymous closure> (package:flutter/src/widgets/binding.dart:865:30)
#2      SchedulerBinding._executeTimingsCallbacks (package:flutter/src/scheduler/binding.dart:289:19)
#6      _invoke1 (dart:ui/hooks.dart:182:10)
#7      PlatformDispatcher._reportTimings (dart:ui/platform_dispatcher.dart:441:5)
#8      _reportTimings (dart:ui/hooks.dart:120:31)
...
The TimingsCallback that gets executed was: Closure: (List<FrameTiming>) => void

但也有

Updated layout information required for RenderParagraph#d3031 NEEDS-LAYOUT NEEDS-PAINT to calculate semantics.
'package:flutter/src/rendering/object.dart':
Failed assertion: line 2653 pos 12: '!_needsLayout'


Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
  https://github.com/flutter/flutter/issues/new?template=2_bug.md

When the exception was thrown, this was the stack: 
#2      RenderObject._getSemanticsForParent (package:flutter/src/rendering/object.dart:2653:12)
#3      RenderObject._getSemanticsForParent.<anonymous closure> (package:flutter/src/rendering/object.dart:2675:61)
#4      ContainerRenderObjectMixin.visitChildren (package:flutter/src/rendering/object.dart:3331:14)
#5      RenderObject.visitChildrenForSemantics (package:flutter/src/rendering/object.dart:2760:5)
#6      RenderObject._getSemanticsForParent (package:flutter/src/rendering/object.dart:2670:5)

到目前为止,我的代码是 Main.dart

void main() => runApp(AppName());

class AppName extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData.dark(),
      initialRoute: WelcomeScreen.id,
      routes: {
        WelcomeScreen.id: (context) => WelcomeScreen(),
        SignUpScreen.id: (context) => SignUpScreen(),
        LoginScreen.id: (context) => LoginScreen(),
        HomeScreen.id: (context) => HomeScreen(),
        SearchScreen.id: (context) => SearchScreen(),
        MessagesScreen.id: (context) => MessagesScreen(),
        ProfileScreen.id: (context) => ProfileScreen(),
        RegistraionScreen.id: (context) => RegistraionScreen(),
      },
    );
  }
}

Welcome_screen.dart

class WelcomeScreen extends StatefulWidget {
  static String id = 'welcome_screen';
  @override
  _WelcomeScreenState createState() => _WelcomeScreenState();
}

class _WelcomeScreenState extends State<WelcomeScreen> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Expanded(
        child: Text(
          'Welcome',
          style: TextStyle(
            fontWeight: FontWeight.bold,
            fontSize: 40,
            color: Colors.white,
          ),
        ),
      ),
    );
  }
}

我已尝试重新启动我的应用程序,重新启动我的 IDE、模拟器和计算机无济于事,所有其他具有相同错误的问题都出现了问题,但是当我运行时,flutter doctor我没有收到任何错误

抱歉,如果它是小而愚蠢的东西,我没有看到我是飞镖和扑腾的新手。谢谢你的帮助。

标签: flutterdart

解决方案


我尝试在欢迎屏幕中删除扩展小部件,这解决了问题


推荐阅读