如何在 flutter 中将 Either Right 初始化为空值
How to initialize Either Right to an empty value in flutter
我最近在我的 flutter 项目中切换到 null-safety,这在使用 Either 类型(来自 dartz 包)时带来了一种新的问题
例如,在我的 class 中有一些像这样的属性之前:
Either<Failure, List<Product>> _products;
然后我将有一个功能来获取产品,并在我看来使用它。
但是,现在有了 null 安全性,我需要初始化这个 属性,因为它永远不应该为 null,相反我想要一个空列表。
如果我这样做
Either<Failure, List<Product?>> _products = [];
我收到这个错误
A value of type 'List<dynamic>' can't be assigned to a variable of type 'Either<Failure, List<Product?>>'.
所以我的问题是,如何使用空列表将此 属性 初始化为 Either 的正确值?
开始吧:
Either<Failure, List<Product?>> _products = right([]);
您可以使用修复此问题的新 'late' 关键字
late Either<Failure, List<Product?>> _products;
了解更多信息 here
我最近在我的 flutter 项目中切换到 null-safety,这在使用 Either 类型(来自 dartz 包)时带来了一种新的问题
例如,在我的 class 中有一些像这样的属性之前:
Either<Failure, List<Product>> _products;
然后我将有一个功能来获取产品,并在我看来使用它。
但是,现在有了 null 安全性,我需要初始化这个 属性,因为它永远不应该为 null,相反我想要一个空列表。
如果我这样做
Either<Failure, List<Product?>> _products = [];
我收到这个错误
A value of type 'List<dynamic>' can't be assigned to a variable of type 'Either<Failure, List<Product?>>'.
所以我的问题是,如何使用空列表将此 属性 初始化为 Either 的正确值?
开始吧:
Either<Failure, List<Product?>> _products = right([]);
您可以使用修复此问题的新 'late' 关键字
late Either<Failure, List<Product?>> _products;
了解更多信息 here