问题标签 [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.
dart - 如何转换列表列出在空安全飞镖?
我有一个飞镖清单:
我想删除任何空值并将其转换为List<String>
. 我试过了:
在运行时,我收到以下错误:
解决此问题的正确方法是什么?
dart - 从 null 安全 Dart 中的 API 获取数据时,是否应该将字段保留为 null 或初始化为默认值?
从 api 检索某些东西时,我应该为每个空字段设置一个值吗?或者我应该保持它们为空并在显示它们时检查它们是否不为空?
前任:
或者
编辑->或者我应该以其他方式这样做吗?
flutter - Flutter 空安全迁移卡在“未定义命名参数”错误
我正在尝试按照本指南和本视频将我的一个项目迁移到空安全,但我在升级我的依赖项和在 Web 界面中查看迁移建议之间陷入了困境。我设法将我的项目从 Flutter 1 升级到 Flutter 2,以将所有依赖项更新到它们的 null 安全版本,除了 build_runner 作为开发依赖项,但显然我们可以忽略它。现在,当我运行时dart migrate
,这就是我在终端中得到的:
现在,如果我以前两个错误为例,这里是它指向的代码行:
从 Firebase Auth 调用这段代码:
正如你所看到的,两个命名参数都定义得很好,所以我真的不明白问题出在哪里。我检查了所有其他错误,它们是相同的:所有命名参数都存在并且实际上已定义。
我错过了什么?我可以安全地忽略这些错误并继续进行其余的迁移吗?
flutter - Flutter 应用程序上的 flutter_dotenv 出现空安全错误
我是 Flutter 的新手,在尝试使用 flutter_dotenv 包时遇到了一个我不明白的错误。
我添加了依赖项
但是当我尝试导入时
它返回给我。
你能帮助我吗 ?谢谢
flutter - Flutter get_it 6.0.0、injectable 1.2.2、Search Delegate 和 Null Safety
我在我的代码中采用了 Dart 启用的新 Null Safety 功能。目前,我面临以下问题:
在 SearchDelegate 类中,我从重写的方法“buildSuggestions”中调用工厂方法 getLocations:
正如我在前面的代码中指出的那样,我将自定义参数传递给 factoryParamAsync,目的是将搜索字符串传递给 googleplaces api:
新的 Null Safety 功能强制将 factoryParam 声明为可为空。
这里的要点是所有代码以前都像一个魅力一样工作,但是一旦采用新功能,就会抛出以下错误:
我试图将变量字符串“查询”转换为字符串?并对其进行测试,得到相同的错误。我尝试使用 factoryAsync 中的“instanceName”参数,尽管我在一些响应中看到它是不推荐的。
我希望我对这个问题有一个清晰的认识,任何建议都会受到欢迎。
flutter - Flutter FutureBuilder 使用 Firebase Phone Auth 引发异常“用于空值的空检查运算符”
使用 FutureBuilder 使用返回 Firebase 身份验证用户凭据的未来“firebaseAuthSvc.signinwithphoneno(widget.pin,widget.verificationID)”构建自身时,我收到以下异常。
════════ 小部件库捕获的异常═════════════════════════════␕══以下_CastError 被抛出构建 FutureBuilder(脏,状态:_FutureBuilderState#a7b44):空值检查运算符用于空值
相关的导致错误的小部件是 FutureBuilder lib/screens/enterpinsubwidgetsecondscreen.dart:34 当抛出异常时,这是堆栈 #0 UserInfo.uid package:firebase_auth_platform_interface/src/user_info.dart:52 #1 UserInfo.toString package: firebase_auth_platform_interface/src/user_info.dart:57 #2 StringBuffer.write (dart:core-patch/string_buffer_patch.dart:64:22) #3 StringBuffer.writeAll (dart:core-patch/string_buffer_patch.dart:102:7) # 4 IterableBase.iterableToFullString (dart:collection/iterable.dart:267:14)
我使用未来构建器的有状态小部件如下。
我未来使用 firebase 电话身份验证 signinwithcredential 的定义为
dart - Dart Null 安全性,即使在构造函数主体中设置了可选的构造函数参数,也需要使用 `!`
!
在访问具有可选构造函数参数的字段时,我必须使用空检查覆盖。我想知道是否有更好的方法来做到这一点,我还没有意识到。
如果未提供参数,则此可选的、可为空的字段在构造函数主体中分配一个值。
稍后使用时httpClient
我需要提供!
,即使它永远不会为空......
...否则飞镖分析仪告诉我:
The method post cannot be unconditionally invoked because the receiver can be null
。
当我使用late
关键字时,Lint 检查告诉我“assign-if-null”永远不会发生......
...因为httpClient
永远不能为空。
我应该忽略 Lint 吗?
我应该做一些完全不同的事情吗?
dart - Dart 中的命名参数
美好的一天,我正在尝试将命名参数 {num phone} 应用于以下示例:
但我收到错误:
感谢您的帮助。
flutter - Flutter2 升级:为什么 build_runner 包不是空安全的
我正在尝试将我的 Flutter 项目升级到 Flutter2。我看到我所有的包都是空安全的,但是bulid_runner
.
我的问题是如何在不支持如此重要的软件包的情况下升级到 Flutter2。我该如何解决这个问题?有没有人看到这个问题?