问题标签 [dart-null-safety]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
flutter - Dart:哪个是更好的做法?使用 'late' 或构造函数初始化列表
我正在为一个 Dart 类建模,考虑到新的 null 安全类型。我相信有两种有效的方法来初始化不可为空的属性,从参数计算。
对于此示例,我们将使用 Favorite 类。
此类在构造函数中使用初始化列表。
这个类使用'late'关键字。
您什么时候会使用其中一种?使用“迟到”感觉有风险。如果我添加了另一个命名构造函数,编译器不会抱怨“favouriteId”没有被初始化。
还有其他选择吗?
谢谢!
flutter - '用户模型?函数(用户)”不能分配给参数类型“用户模型函数(用户?)”,因为“用户模型?” 可以为空,并且 'UserModel' 不是
#我一直在关注 twitter 克隆的 youtube 项目,将 _userFromFirebaseUser 放入 map() 时出现错误;#
##我在 13:29 收到错误,这是链接。https://www.youtube.com/watch?v=YI7avcWI3aQ&t=919s ##
##我在终端收到的错误是Launching lib\main.dart on sdk gphone x86 arm in debug mode... lib\main.dart:1 lib/services/auth/auth.dart:13:40: Error :参数类型'UserModel?函数(用户)”不能分配给参数类型“用户模型函数(用户?)”,因为“用户模型?” 可以为空,而 'UserModel' 不是。
- 'UserModel' 来自'package:twitterclone/models/users.dart' ('lib/models/users.dart')。
- '用户'来自'package:firebase_auth/firebase_auth.dart'('../../AppData/Local/Pub/Cache/hosted/pub.dartlang.org/firebase_auth-1.0.1/lib/firebase_auth.dart' )。返回 auth.authStateChanges().map(_userFromFirebaseUser);
代码和目录
-users.dart
-auth.dart
android - 使用 --no-sound-null-safety Flutter 生成 App Bundle
我正在尝试通过 Android Studio 生成 App Bundle(Build -> Generate Signed Bundle / APK),并且在构建包时遇到错误。
有没有一种方法可以添加参数--no-sound-null-safety
,类似于您可以在命令行中执行的操作?
flutter - Flutter - Nullability problem with Locale
Below code has no compiler warnings or errors. Running it results in:
Neither window nor locale could be null. No parameters here can be null. The error message is quite annoying because trying
Results in a compiler warning:
This is the code:
And this is pubspec.yaml
What is required to run the code in null-safety mode?
This is the localization class main.i18n.dart:
Output of Flutter doctor
:
flutter - Flutter Validator String 需要 Null Aware 但编译器警告不需要
我有一个 TextFormField:
这给出了一个警告:
警告:“!” 将无效,因为接收器不能为空。(unnecessary_non_null_assertion at [athelite] lib\Pages\PlayerEditPageDefaultState.dart:427)
所以我删除了感叹号,然后它变成了一个错误:
错误:无法无条件访问属性“长度”,因为接收者可以为“空”。([athelite] lib\Pages\PlayerEditPageDefaultState.dart:425 上的 unchecked_use_of_nullable_value)
编译器不满意!使用 Flutter 2.0 执行此操作的正确方法是什么?
flutter - 如何在颤振中创建空安全块?
如何在 Flutter 中进行空值检查或创建空值安全块?
这是一个例子:
如果您尝试用 if 案例包围它,您会得到相同的错误:
如果您创建一个新属性,然后对其进行空检查,则它可以工作,但是每次要进行空检查时创建新属性会变得很麻烦:
有一个更好的方法吗?
喜欢?.let{}
kotlin 中的语法?
flutter - 无法在“null-safety”版本的颤振中通过“onGenerateRoute()”传递“参数”
我想做什么?
像往常一样,我试图将数据从一个屏幕发送到另一个屏幕,onGenerateRoute()
但我的屏幕不接受参数类型并显示错误参数类型“对象?” 不能分配给参数类型“Map<String, dynamic>”。
我还尝试更改Object?
接收器屏幕上的参数类型,但现在我无法从Object
to中提取数据Map<String, dynamic>
。我认为两者都是相同的数据类型,但 null 安全版本的处理方式不同。我认为这是一个错误。
我已经看到了有关使用参数导航的颤振官方文档,当我在交互式示例部分切换到 null-safety 时,它也显示错误。请参阅此屏幕截图或自己尝试。
它在颤振的非空安全版本中正常工作
这是片段
路由生成器类
验证FirebaseOtpScreen
日志flutter - Flutter 错误:主体可能正常完成,导致返回“null”,但返回类型可能是不可为空的类型
我正在使用启用了 null 安全性的新飞镖版本 <2.13.0-107.0.dev>。
有了这个任务列表:
当我尝试在这样的 ListView.builder 构造函数中使用它时:
我收到此错误:
错误:主体可能正常完成,导致返回“null”,但返回类型可能是不可为空的类型。
和运行日志中的这个错误:
错误:必须返回非空值,因为返回类型“小部件”不允许为空。
有关更多信息,Task 类定义如下:
flutter - dart:html 中的 Geolocation.getCurrentPosition 在启用 NNBD 的发布模式下不工作
有谁知道为什么在启用了声音空安全性的发布模式下运行时Geolocation.getCurrentPosition()
fromdart:html
不起作用(flutter run --release -d chrome
)?
进行此调用时,我确实得到了一个Geoposition
back 实例,但是当我尝试访问其中一个成员时,我收到以下错误消息:
如果我在调试中运行相同的代码(flutter run -d chrome
或没有 NNBD,flutter run -d chrome --release --no-sound-null-safety
一切正常)。重现此行为的简单 App 如下所示(它是默认 Flutter 计数器模板的略微更改版本):