将的依赖项添加ProfileLogic
到LocationLogic
应用程序启动后,出现以下错误:
I / flutter(14674):处理后使用了LocationLogic。
I / flutter(14674):在LocationLogic上调用dispose()后,将无法再使用它。
这些是我的提供者:
providers: [
ChangeNotifierProvider(builder: (_) => ConnectivityLogic()),
ChangeNotifierProxyProvider<ConnectivityLogic, ProfileLogic>(
builder: (context, connectivity, previousMessages) =>
ProfileLogic(connectivity.isOnline),
initialBuilder: (BuildContext context) => ProfileLogic(false),
),
ChangeNotifierProxyProvider<ProfileLogic, LocationLogic>(
builder: (context, profileLogic, previousMessages) =>
LocationLogic(profileLogic.profile),
initialBuilder: (BuildContext context) => LocationLogic(null),
),
ChangeNotifierProvider(builder: (_) => SignUpModel()),
ChangeNotifierProxyProvider<ConnectivityLogic, WorkLogic>(
builder: (context, connectivity, previousMessages) =>
WorkLogic(connectivity.isOnline),
initialBuilder: (BuildContext context) => WorkLogic(false),
),
ChangeNotifierProvider(builder: (_) => OrderLogic()),
]
奇怪的是,即使有该错误,一切也都可以正常工作。
我认为您处置了容纳这些提供程序的小部件。尝试将所需的提供程序移到树中的更高位置。因此,如果您有:
MaterialApp(
home: MultiProvider(
providers: [...],
child: child,
)
)
做类似的事情:
MultiProvider(
providers: [...],
child: MaterialApp(
home: child,
)
)
如果这样做没有帮助,则需要提供更多上下文。例如。什么是小部件树。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句