我们如何向get_it注册提供程序类,以便我们只需向get_it注册一次提供程序,就可以在任何地方使用? 假设我们有AuthProvider,我们像这样注册它,
MultiProvider(
providers: [
ChangeNotifierProvider<ProductDataProvider>(
create: (_) => AuthProvider()),
ChangeNotifierProvider<AuthenticationProvider>(
create: (_) => AuthenticationProvider()),
],
child: Container())
所以我想做的是向get_it注册一个 AuthProvider 提供程序,并使用get_it注册表方法包装 MaterialApp,以便我可以在应用程序类中的任何位置使用所有这些提供程序。
提供程序是一个小部件,因此它必须位于小部件树中。
但我认为您是在问是否可以在没有上下文和小部件树的外部的情况下访问提供的数据。
我会考虑创建一个保存关键数据的类。
数据类将作为工厂实现。
然后将数据类包装在提供程序中。
您实际上不需要 getit,因为数据类是一个工厂。