在Flutter/Dat中定义单例属性的最佳方式是什么



在我的flutter项目中,我正在为加载器使用flutter_easyLoading包。它在文档中说,它创建了一个singleton,我只需要在某个地方定义它的属性一次,它将在整个应用程序中可用。定义这些属性的最佳实践是什么?

现在,我正在像这样的启动屏幕文件中初始化它的变量。

class _SplashScreenState extends State<SplashScreen> {
  @override
  void didChangeDependencies() async {
    super.didChangeDependencies();
  EasyLoading.instance
    ..displayDuration = const Duration(milliseconds: 2000)
    ..indicatorType = EasyLoadingIndicatorType.fadingCircle
    ..loadingStyle = EasyLoadingStyle.dark;
 }

我应该这样做,或者为所有这些属性定义一些util方法。

您可以使用工厂构造函数在dart中实现singleton类

这是一个适用于此上下文的简单示例

class EasyLoadingSingleton {
  static final EasyLoadingSingleton _easyloading = EasyLoadingSingleton._internal();
  factory EasyLoadingSingleton() {
    return _easyloading;
  }
  EasyLoadingSingleton._internal();
}

最新更新