firebase调用后,全局密钥在颤振中变为空

firebase调用后,全局密钥在颤振中变为空,firebase,flutter,dart,null,Firebase,Flutter,Dart,Null,我在main.dart文件中定义了一个全局键(keyVehicleFormState),我使用它调用一个方法从车辆小部件获取车辆对象 在进行firebase用户注册呼叫(registerUserWithEmailAndPassword)之前,变量keyVehicleFormState保持其状态值,等等。一切正常 但在调用firebase方法registerUserWithEmailAndPassword后,keyVehicleFormState将丢失其状态并变为null 解决方法是在调用fire

我在main.dart文件中定义了一个全局键(keyVehicleFormState),我使用它调用一个方法从车辆小部件获取车辆对象

在进行firebase用户注册呼叫(registerUserWithEmailAndPassword)之前,变量keyVehicleFormState保持其状态值,等等。一切正常

但在调用firebase方法registerUserWithEmailAndPassword后,keyVehicleFormState将丢失其状态并变为null

解决方法是在调用firebase之前调用getNewVehicle方法。 但我只是好奇我是做错了什么,还是在你的经历中看到了什么

//Defined in main.dart
final keyVehicleFormState = new GlobalKey<VehicleFormState>();

//keyVehicleFormState is not null.
User user = await _auth.registerUserWithEmailAndPassword(_email, _password);
//keyVehicleFormState is null

if (user != null) {
   Vehicle vehicle = keyVehicleFormState.currentState.getNewVehicle(user.userId);
   //Null point exception!
}
//在main.dart中定义
final keyVehicleFormState=新的GlobalKey();
//keyVehicleFormState不为空。
User User=wait\u auth.registerUserWithEmailAndPassword(\u email,\u password);
//keyVehicleFormState为空
如果(用户!=null){
Vehicle Vehicle=keyVehicleFormState.currentState.getNewVehicle(user.userId);
//零点异常!
}