【发布时间】:2020-03-20 15:34:29
【问题描述】:
我正在使用 Flutter 创建一个购物应用程序,并使用 Provider 包进行状态管理。一切都很好,只是一个问题。我像这样声明我的 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(),
));
}
所有的类都是一样的。
class NotificationManager with ChangeNotifier {
NotificationManager() {
print("Notification manager created");
}
}
现在这些在状态管理方面运行良好,但我想在它们的构造上执行一些代码,例如我想在他们的构造函数中运行代码,但是 AuthStateManager.instance() , BottomNavigationManager() 和 CartManager() 在开始时正在执行代码,但其余的 LocationManager() 和 NotificationManager() 没有执行代码,我不知道为什么会这样.我对所有课程都做同样的事情。
【问题讨论】:
-
您是否尝试在构建后运行代码,例如在您的应用程序的第一个屏幕上,EvendorApp?
-
是的,这可以工作,但是构造函数中的代码没有被执行。我只是想知道为什么在那里不起作用。
-
不工作的类是否扩展了其他类?