我正在嘗試通過查看來自https://www.youtube.com/watch?v=2DtFGF2v_vk&t=365s的視頻來登錄顫振身份驗證, 但我收到一條錯誤訊息
Reloaded 1 of 975 libraries in 954ms.
E/flutter ( 8369): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: Invalid argument(s) (value): Must not be null
E/flutter ( 8369): #0 ArgumentError.checkNotNull (dart:core/errors.dart:207:27)
E/flutter ( 8369): #1 SharedPreferences._setValue (package:shared_preferences/shared_preferences.dart:130:19)
E/flutter ( 8369): #2 SharedPreferences.setString (package:shared_preferences/shared_preferences.dart:116:7)
E/flutter ( 8369): #3 _LoginState.signIn (package:kiriapp/oten/login.dart:178:15)
E/flutter ( 8369): <asynchronous suspension>
E/flutter ( 8369):
這是我的代碼
signIn(String email, pass) async {
SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
Map data = {
'email': email,
'password': pass
};
var jsonResponse = null;
var response = await http.post(Uri.parse("myapi"), body: data);
if(response.statusCode == 200) {
jsonResponse = json.decode(response.body);
if(jsonResponse != null) {
setState(() {
_isLoading = false;
});
sharedPreferences.setString("token", jsonResponse['token']);
Navigator.of(context).pushAndRemoveUntil(MaterialPageRoute(builder: (BuildContext context) => HomePage()), (Route<dynamic> route) => false);
}
}
else {
setState(() {
_isLoading = false;
});
print(response.body);
}
}
謝謝
uj5u.com熱心網友回復:
正如錯誤本身所說
未處理的例外:無效的引數(值):不能為空
ArgumentError.checkNotNull
SharedPreferences._setValue
似乎下面的行沒有獲得所需的值,并且可能jsonResponse['token']為 null
sharedPreferences.setString("token", jsonResponse['token']);
如果您沒有嘗試將空值設定為令牌鍵,請格外確定
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/438758.html
