【问题标题】:Flutter Getx: initial value of obs variable set to nullFlutter Getx:obs变量的初始值设置为null
【发布时间】:2021-09-08 13:01:50
【问题描述】:

现在我总是像这样使用 getx observable 声明:

var someString = ''.obs;
var someNumber = 0.obs;

等等……

但是如果一些变量一开始没有初始值,我实际上希望它们为空,然后再更改它们呢?

【问题讨论】:

    标签: flutter dart flutter-getx


    【解决方案1】:

    对于非空安全(Dart 2.12 之前),您可以像这样声明您的可观察变量:

    final someVariable = Rx<Type>();
    

    例如:

    final someString = Rx<String>();
    final someNumber = Rx<int>();
    

    对于 null-safety(Dart 2.12 或更高版本),只需使用 Rxn&lt;Type&gt; 而不是 Rx&lt;Type&gt;

    例如:

    final someString = Rxn<String>();
    final someNumber = Rxn<int>();
    

    【讨论】:

    • 完美答案,谢谢!不过还有一个后续:Rxn (>= Dart 2.12) 会影响 Flutter 应用的性能吗?
    • 稍微。因为它需要与非可空对象 (Rx&lt;Type&gt;()) 不同的检查。但这对于您的用例应该没有那么重要。
    • 你救了我这么多伙计
    猜你喜欢
    • 2017-08-03
    • 2022-06-22
    • 2019-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多