我需要幫助
Future<void> getGenderUser(
{User firebaseUser, String token, BuildContext context}) async {
await Config.initializeClient(token)
.價值
.query(QueryOptions(
document: gql(Quords.getGender),
variables: <String, dynamic>{'id'/span>: 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。方法'[]'被呼叫on null。
接收者。null。
嘗試呼叫。[]("user")
[VERBOSE-2:ui_dart_state.cc(199)] 未處理的例外。RangeError (index): 無效值。有效值范圍為空。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。(package: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)
uj5u.com熱心網友回復:
在沒有你的原始碼行號的情況下...
if (value.data['User'][0]['gender'] == null) {
value.data['User']可能是回傳一個空的串列。也就是說,一個串列存在,但串列中沒有用戶或專案。當你要求第一個專案[0]時,沒有專案可以回傳。 你可以在你的if中加入這個檢查。
if (value.data['User'].isEmpty || value.data['User'][0]['gender'] == null) {
你可能還需要檢查空串列是否是一個錯誤條件的結果。
uj5u.com熱心網友回復:
首先檢查你的值是否為空,如果不是,那么通過添加as User將你的右手邊的代碼轉換為User來試一下,這可能會有幫助,如果錯誤有任何變化,請評論。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/325771.html
標籤:
