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
相关产品推荐
相关产品推荐

