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

Flutter开发中MyHomePage构造函数空安全与key参数报错咨询

Flutter 构造函数编译错误修复方案

错误原因及修复方法

  • 针对「参数'title'的类型为'String',不能为null」错误:
    这是Dart空安全的强制校验规则,非可空类型的可选命名参数默认隐式值为null,不符合类型约束。你有三种修复方案可选:
    1. 给title参数加required修饰符,强制调用方必须传值(你当前代码已经传了title参数,选这个最适配)
    2. 给title设置默认值,比如this.title = '默认标题'
    3. 将title的类型改为可空类型String?,后续使用时做判空处理
  • 针对「未找到Getter 'key'」错误:
    你的构造函数第一个参数只声明了Key类型,漏掉了参数名key,同时要给Key加可空标记?适配空安全,补全为Key? key即可。

另外注意你代码中return MaterialApp末尾多了一个多余的反引号,需要删除否则会触发语法错误。

修复后完整代码

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Hello World Demo Application',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Home page'),
    );
  }
}
class MyHomePage extends StatelessWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);
  final String title;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(this.title),
      ),
      body: Center(
        child:
        Text(
          'Hello World',
        )
      ),
    );
  }
}

内容的提问来源于stack exchange,提问作者Lalit Joshi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 23:15:04