【发布时间】:2021-09-19 15:20:06
【问题描述】:
我需要帮助
Future<void> getGenderUser(
{User firebaseUser, String token, BuildContext context}) async {
await Config.initializeClient(token)
.value
.query(QueryOptions(
document: gql(Queries.getGender),
variables: <String, dynamic>{'id': firebaseUser.uid}))
.then((value) {
Navigator.of(context).pop();
if (value.data['User'][0]['gender'] == null) {
Navigator.of(context).pushNamed(Routes.welcome);
} else {
Navigator.of(context)
.pushNamed(Routes.homeScreen, arguments: const HomeScreen());
}
});
}
错误
flutter: NoSuchMethodError: The method '[]' was called on null.
Receiver: null
Tried calling: []("User")
[VERBOSE-2:ui_dart_state.cc(199)] Unhandled Exception: RangeError (index): Invalid value: Valid value range is empty: 0
#0 List.[] (dart:core-patch/growable_array.dart:254:60)
#1 OptionLogin.getGenderUser.<anonymous closure>(package:flutter_habit_run/feature/walkthrough/widget/option_login.dart:34:29)
#2 _rootRunUnary (dart:async/zone.dart:1362:47)
#3 _CustomZone.runUnary (dart:async/zone.dart:1265:19)
#4 OptionLogin.getGenderUser (package:flutter_habit_run/feature/walkthrough/widget/option_login.dart:27:5)
#5 OptionLogin.signIn。 (包:flutter_habit_run/feature/walkthrough/widget/option_login.dart:51:11)
#6 OptionLogin.signIn (package:flutter_habit_run/feature/walkthrough/widget/option_login.dart:47:7)
【问题讨论】:
-
在最后一个 if 语句之前,
print(value);print(value.data);print(value.data['User']);其中一个为空。