试图读取在其价值创造过程中抛出的提供者

时间:2021-04-30 19:21:31

标签: flutter dart flutter-dependencies

我有点麻烦,我正在尝试使用 getIt 实例来注册我的提供者。但是我收到了一个意外错误“状态不佳:试图读取在创建其值期间抛出的提供程序。 在创建类型 BottomNavigationProvider 时发生异常”。

任何人之前都通过这个错误?

我的供应商

class BottomNavigationProvider with ChangeNotifier {
      final ChangeCurrentIndex changeCurrentIndex;
      BottomNavigationProvider({required ChangeCurrentIndex changeCurrent})
          : changeCurrentIndex = changeCurrent;
    
      var _currentIndex = 0;
    
      int getCurrent() {
        return _currentIndex;
      }
    
      set setCurrent(dynamic value) {
        print('Provider set current call');
        notifyListeners();
      }
    }

我的注射器容器

import 'package:get_it/get_it.dart';
import './presentation/providers/bottom_navigation.provider.dart';
import './domain/useCases/change_current_index.dart';
final getIt = GetIt.instance;

initBottomNavigationContainer(){
  //providers
  getIt.registerFactory(
    () => BottomNavigationProvider(changeCurrent: getIt()),
  );
  //use cases
  getIt.registerLazySingleton(() => ChangeCurrentIndex(getIt()));
}

我的主要与注入器声明

void main() {
  initContainer();
  runApp(MyApp());
}

initContainer() async {
  await initExampleContainer();
  await initBottomNavigationContainer();
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      initialRoute: '/',
      routes: {
        '/': (context) => SplashScreenPage(),
        '/example': (context) => ExamplePage(),
      },
    );
  }
}

0 个答案:

没有答案