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

已创建LoginScreen类并导入包,仍报‘LoginScreen不是类’错误

Flutter中LoginScreen类提示"The name 'LoginScreen' isn't a class"错误的排查求助

我遇到一个问题,始终无法解决这个错误:

"The name 'LoginScreen' isn't a class. Try correcting the name to match an existing class."

我已经在单独文件中创建了LoginScreen类,并且导入了所有必要的包(包括material.dart)。以下是简化后的代码:

Main.dart

import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:supabase_flutter/supabase_flutter.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  //load env
  await dotenv.load();
//initiliase supabase
  String supabaseurl = dotenv.env['SUPABASE_URL'] ?? '';
  String supabasekey = dotenv.env['SUPABASE_KEY'] ?? '';
  await Supabase.initialize(url: supabaseurl, anonKey: supabasekey);
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        title: 'Flutter Demo',
        theme: ThemeData(
          primarySwatch: Colors.blue,
        ),
        home: const LoginScreen());
  }
}

Login_screen.dart

import 'package:flutter/material.dart';

class LoginScreen extends StatefulWidget {
  const LoginScreen({super.key});

  @override
  State<LoginScreen> createState() => _LoginScreenState();
}

class _LoginScreenState extends State<LoginScreen> {
  @override
  Widget build(BuildContext context) {
    return const Scaffold(
      body: Center(child: Text("Login Screen")),
    );
    //return Container();
  }
}

尽管LoginScreen类已经定义在login_screen.dart文件中,且我确认在main.dart中正确导入了该文件,但在MyApp中将其作为home widget实例化时,错误依然存在。

我已经仔细检查了以下几点:

  • 文件名和类名的拼写、大小写都符合规范
  • 已正确导入material.dart等必要包

我使用Flutter和Dart进行开发,恳请大家帮忙找出错误根源。如果需要更多代码或信息,请告知,我会及时补充。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 13:27:32