Flutter MultiProvider Класс конструкторов выпускают - PullRequest
1 голос
/ 20 марта 2020

Я создаю приложение для шоппинга, используя флаттер и пакет 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() не выполняют код, я не знаю почему это происходит? Я делаю то же самое для всех классов.

...