由于空检查器问题,无法运行 flutter 移动应用程序

问题描述

我正在尝试将 firebase 连接到我的 Flutter 应用程序。作为 Web 应用程序运行时,所有功能都运行良好。但是,当我尝试运行移动应用程序时,该应用程序未运行并在终端中显示如下错误消息。

E/Flutter ( 4635): [ERROR:Flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: Null check operator used on a null value
E/Flutter ( 4635): #0      MethodChannel.binaryMessenger
package:Flutter/…/services/platform_channel.dart:142
E/Flutter ( 4635): #1      MethodChannel._invokeMethod
package:Flutter/…/services/platform_channel.dart:148
E/Flutter ( 4635): #2      MethodChannel.invokeMethod
package:Flutter/…/services/platform_channel.dart:331
E/Flutter ( 4635): #3      MethodChannel.invokeListMethod
package:Flutter/…/services/platform_channel.dart:344

以下是我正在使用的依赖项:

environment:
  sdk: ">=2.7.0 <3.0.0"

dependencies:
  Flutter:
    sdk: Flutter
  firebase_core: "0.5.1"
  firebase_auth: "0.18.2"
  cloud_firestore: "0.14.2"

下面是我的 main.dart 文件

Future<void> main() async {
  await Firebase.initializeApp();
  runApp(new MaterialApp(
    home: Login(),));
}

在运行 Flutter 频道时:

PS C:\Users\hp\Documents\firebase\blog_app> Flutter channel
Flutter channels:
  master
  dev
  beta
* stable

解决方法

如下更改您的 pubspec.yaml。

const Info = (props) => {
  const dispatch = useDispatch();

  useEffect(() => {
    dispatch(getProfileInfo(props._id));
  },[]);

  return (
    <div></div>
  );
};

export default Info;

并在终端中运行 export const ProjectPage = ()=>{ useEffect(()=>{ let dbRef = firestore.collection("projects"); dbRef.onSnapshot((result) => {//do something});},[]); return( <div>{//some data and stuff}</div>); }

然后在终端中运行environment: sdk: ">=2.7.0 <3.0.0" dependencies: flutter: sdk: flutter firebase_core: ^1.3.0 firebase_auth: ^1.4.1 cloud_firestore: ^2.2.2 flutter put getflutter channel stable