Flutter报错:SignInPage方法未在MyApp类中定义
Flutter拆分SignInPage组件后报错的解决方法
你的代码报错核心原因是main.dart存在语法错误,导致编译器无法正确识别导入的SignInPage类,误以为你在调用MyApp的SignInPage方法。
具体错误点
await Firebase.initializeApp(options: const FirebaseOptions());这一行末尾多了一个分号,破坏了代码结构FirebaseOptions必须传入项目的具体配置参数(apiKey、appId等),当前写法缺少必要参数
修正后的main.dart代码
import 'package:flutter/material.dart'; import 'package:firebase_core/firebase_core.dart'; import 'sign_in_page.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp( // 替换为你自己的Firebase项目配置参数 options: const FirebaseOptions( apiKey: "YOUR_API_KEY", appId: "YOUR_APP_ID", messagingSenderId: "YOUR_MESSAGING_SENDER_ID", projectId: "YOUR_PROJECT_ID", ), ); runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( title: 'Google Sign In', home: SignInPage(), ); } }
额外检查项
- 确认
sign_in_page.dart和main.dart在同一个lib目录下,文件名无拼写错误 - 确保
sign_in_page.dart中的类名是SignInPage(Flutter对大小写敏感) - 执行
flutter clean和flutter pub get清理缓存后重新编译
内容的提问来源于stack exchange,提问作者Pratik Nandeshwar
相关产品推荐
相关产品推荐

