Flutter 颤振多提供程序类构造函数问题

Flutter 颤振多提供程序类构造函数问题,flutter,provider,Flutter,Provider,我正在使用颤振创建一个购物应用程序,并使用提供商包进行状态管理。一切都很好,只是个问题。我像这样声明我的ChangeNotifierProviders void main() { runApp(MultiProvider( providers: <SingleChildWidget>[ ChangeNotifierProvider(create: (_) => AuthStateManager.instance()), ChangeNotif

我正在使用颤振创建一个购物应用程序,并使用提供商包进行状态管理。一切都很好,只是个问题。我像这样声明我的ChangeNotifierProviders

void main() {
  runApp(MultiProvider(
    providers: <SingleChildWidget>[
      ChangeNotifierProvider(create: (_) => AuthStateManager.instance()),
      ChangeNotifierProvider(create: (_) => CartManager()),
      ChangeNotifierProvider(create: (_) => LocationManager()),
      ChangeNotifierProvider(create: (_) => BottomNavigationManager()),
      ChangeNotifierProvider(create: (_) => NotificationManager()),
    ],
    child: EvendorApp(),
  ));
}

现在这些在状态管理方面运行良好,但是我想在它们的构造上执行一些代码,例如,我想在它们的构造函数中运行代码,但是
AuthStateManager.instance()
BottomNavigationManager()
CartManager()
在开始时执行代码,但其他
LocationManager()
NotificationManager()
没有执行代码,我不知道为什么会发生这种情况。我对所有类都做了相同的操作。

我不确定这是否是答案,因为我从未使用过它,但提供程序包文档确实说明了以下内容:

当使用提供者的create/update回调时,值得注意的是,默认情况下会延迟调用此回调。这意味着,在至少请求一次该值之前,不会调用create/update回调

如果是这种情况,那么解决方案是添加值为false的lazy参数。大概是这样的:


ChangeNotifierProvider(create:(\u)=>NotificationManager(),lazy:false)

您是否尝试过在构建代码后运行代码,比如在应用程序的第一次启动时,EvendorApp?是的,这正在工作,但构造函数中的代码没有被执行。我只是想知道为什么那不起作用。那些不起作用的类会扩展其他类吗?
class NotificationManager with ChangeNotifier {
  NotificationManager() {
    print("Notification manager created");
  }
}