Al *_*mun 10 dart firebase flutter
请任何人都可以解释一下这是什么问题!我收到此错误\n“类型 \'Null\' 不是类型转换中类型 \'List\' 的子类型”
\n&
\n“无效参数(onError):Future.catchError 的错误处理程序必须返回 future 类型的值”
\nfactory Talent.fromJson(String userId, dynamic data) {\n try {\n print(\'This is the data we are looking for $userId $data\');\n return Talent(\n id: userId,\n awareOf: data[\'awareOf\'],\n firstName: data[\'firstName\'],\n lastName: data[\'lastName\'],\n aliasName: data[\'aliasName\'],\n useRealName: data[\'useRealName\'] ?? false,\n revealPicture: data[\'revealPicture\'] ?? false,\n imageUrl: data[\'imageUrl\'],\n staticLocation: LocationModel(\n label: data[\'staticLocation\'][\'label\'],\n latitude: data[\'staticLocation\'][\'latitude\'],\n longitude: data[\'staticLocation\'][\'longitude\'],\n ),\n searchRadius: data[\'searchRadius\'] ?? 25,\n willingToMove: data[\'willingToMove\'] ?? false,\n prefersRemote: data[\'prefersRemote\'] ?? false,\n yearsOfExperience: data[\'yearsOfExperience\'] ?? 0,\n salaryExpectation:\n SalaryExpectation.fromJson(data[\'salaryExpectation\']),\n hardskills: data[\'hardskills\'] ?? [],\n softskills: (data[\'softskills\'] as List)?.first?.runtimeType != String\n ? (data[\'softskills\'] as List)\n ?.map((json) => Softskill.fromJson(json))\n ?.toList() ??\n []\n : (data[\'softskills\'] as List)\n ?.map((s) => Softskill.fromJson(json.decode(s)))\n ?.toList() ??\n [],\n studies: (data[\'studies\'] as List)?.first?.runtimeType != String\n ? (data[\'studies\'] as List)\n ?.map((s) => Study.fromJson(Map<String, dynamic>.from(s)))\n ?.toList() ??\n []\n : (data[\'studies\'] as List)\n ?.map((s) => Study.fromJson(json.decode(s)))\n ?.toList() ??\n [],\n apprenticeships:\n (data[\'apprenticeships\'] as List)?.first?.runtimeType != String\n ? (data[\'apprenticeships\'] as List)\n ?.map((s) => Apprenticeship.fromJson(s))\n ?.toList() ??\n []\n : (data[\'apprenticeships\'] as List)\n ?.map((s) => Apprenticeship.fromJson(json.decode(s)))\n ?.toList() ??\n [],\n coronaHelper: data[\'coronaHelper\'] ?? false,\n driverLicense: data[\'driverLicense\'] ?? false,\n );\n } on Exception catch (e) {\n Logger().e("Unable to parse Talent $e");\n }\n return Talent.fromJson(userId, data);\n }\nRun Code Online (Sandbox Code Playgroud)\n扑动医生-v
\n[\xe2\x9c\x93] Flutter(频道稳定,2.5.2,在 macOS 11.6 20G165 darwin-arm 上,区域设置 en-DE)\n\xe2\x80\xa2 Flutter 版本 2.5.2,位于 /Users/almamun/Documents /developer/flutter\n\xe2\x80\xa2 上游存储库https://github.com/flutter/flutter.git \n\xe2\x80\xa2 框架修订版 3595343e20(3 周前),2021-09-30 12 :58:18 -0700\n\xe2\x80\xa2 引擎修订版 6ac856380f\n\xe2\x80\xa2 Dart 版本 2.14.3
\n[\xe2\x9c\x93] Android 工具链 - 为 Android 设备开发(Android SDK 版本 31.0.0)\n\xe2\x80\xa2 Android SDK,位于 /Users/almamun/Library/Android/sdk\n\xe2\x80 \xa2 平台 android-31,构建工具 31.0.0\n\xe2\x80\xa2 Java 二进制文件位于:/Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java\n\xe2\x80 \xa2 Java 版本 OpenJDK 运行时环境(内部版本 11.0.10+0-b96-7249189)\n\xe2\x80\xa2 接受所有 Android 许可证。
\n[!] Xcode - 为 iOS 和 macOS 开发\n\xe2\x80\xa2 Xcode,位于 /Applications/Xcode.app/Contents/Developer\n\xe2\x80\xa2 Xcode 13.0,构建版本 13A233\n\xe2\x9c \x97 CocoaPods 未安装。\nCocoaPods 用于检索 iOS 和 macOS 平台端的插件代码,该代码响应您在 Dart 端的插件使用情况。\n如果没有 CocoaPods,插件将无法在 iOS 或 macOS 上运行。\n对于更多信息,请参阅https://flutter.dev/platform-plugins \n要安装,请参阅https://guides.cocoapods.org/using/getting-started.html#installation了解说明。
\n[\xe2\x9c\x93] Chrome - 为网络开发\n\xe2\x80\xa2 Chrome,位于 /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
\n[\xe2\x9c\x93] Android Studio(版本 2020.3)\n\xe2\x80\xa2 Android Studio 位于 /Applications/Android Studio.app/Contents\n\xe2\x80\xa2 Flutter 插件可以从以下位置安装:\ n https://plugins.jetbrains.com/plugin/9212-flutter \n\xe2\x80\xa2 Dart 插件可以从以下位置安装:\n https://plugins.jetbrains.com/plugin/6351-dart \n \xe2\x80\xa2 Java 版本 OpenJDK 运行时环境(内部版本 11.0.10+0-b96-7249189)
\n[\xe2\x9c\x93] VS Code(版本 1.60.2)\n\xe2\x80\xa2 VS Code 位于 /Users/almamun/Downloads/Visual Studio Code.app/Contents\n\xe2\x80\xa2 Flutter扩展可以从以下位置安装:\n https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
\n[\xe2\x9c\x93] 连接的设备(2个可用)\n\xe2\x80\xa2 sdk gphone arm64(移动)\xe2\x80\xa2 emulator-5554 \xe2\x80\xa2 android-arm64 \xe2\x80 \xa2 Android 11 (API 30)(模拟器)\n\xe2\x80\xa2 Chrome(网络) \xe2\x80\xa2 chrome \xe2\x80\xa2 web-javascript \xe2\x80\xa2 Google Chrome 94.0.4606.81
\nped*_*ont 19
问题是您正在调用运算符is并将值转换为类型List,但该值是null,它不是 的子类型List,因此会出现错误。
null在尝试将其转换为另一种类型(例如 )之前,您必须首先检查您的值是否不是is List。
尝试这个:
((data['softskills'] ?? []) as List)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19040 次 |
| 最近记录: |