我有 Project,它運行得很好。我將其升級為空安全。現在我得到Expected a value of type 'Map<String, String?>', but got one of type 'Null.
這是升級到空安全之前的代碼:
final Map<String, String> args = ModalRoute.of(context).settings.arguments;
這作業正常。
這是升級到空安全后的代碼。
final Map<String, String?> args =
ModalRoute.of(context)!.settings.arguments as Map<String, String?>;
這給出了錯誤劑量知道為什么嗎?以及如何解決它。提前致謝。
uj5u.com熱心網友回復:
ModalRoute.of(context)由于您使用它的原因,您可能為 null ,!因此它可能導致ModalRoute.of(context)!.settings.arguments為 null 但您期望為 non-null Map,因此請更改以下內容:
final Map<String, String?> args =
ModalRoute.of(context)!.settings.arguments as Map<String, String?>;
對此:
final Map<String, String?>? args =
ModalRoute.of(context)?.settings.arguments as Map<String, String?>?;
uj5u.com熱心網友回復:
無需使用?,因為您已經初始化它您可以嘗試toString與 json decode一起使用
final args = json.decode(ModalRoute.of(context)!.settings.arguments.toString()) ;
uj5u.com熱心網友回復:
我更改了代碼:
final Map<String, String?> args = ModalRoute.of(context)!.settings.arguments as Map<String, String?>;
至
Map? args = {};
args = ModalRoute.of(context)!.settings.arguments as Map?;
它正在作業。有人可以解釋一下,錯誤的原因是什么?謝謝你
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/515980.html
標籤:扑镖
上一篇:顫振位置按鈕底部非常正確?
