You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中Scaffold与AppBar出现const构造器错误求助

解决const构造使用错误的编译问题

你的代码报错是因为在const MaterialApp这个常量上下文里,所有子组件必须通过const构造函数创建,而你当前的Scaffold、AppBar、Text都没有加const修饰。

修正方案1:给所有子组件加上const

void main() {
  runApp(
    const MaterialApp(
      home: const Scaffold(
        appBar: const AppBar(
          title: const Text('I am Rich'),
        ),
      ),
    ),
  );
}

修正方案2:去掉最外层的const(更适合初学者)

如果不需要把MaterialApp设为编译时常量,直接移除开头的const,内部组件就都不需要加const了:

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('I am Rich'),
        ),
      ),
    ),
  );
}

原因说明

Dart中,当你用const修饰一个对象时,它的所有嵌套属性都必须是编译时常量——也就是这些属性对应的对象必须通过const构造函数实例化。你之前只给MaterialApp加了const,但内部的Scaffold、AppBar都没有用const,所以编译器报错,要求你把这些也改成const构造的实例。

内容的提问来源于stack exchange,提问作者Naruto Uzumaki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 16:50:19