处置后使用提供者 - Multiprovider
A Provider was used after being disposed - Multiprovider
将 ProfileLogic
的依赖项添加到 LocationLogic
后,应用程序启动时出现以下错误:
I/flutter (14674): A LocationLogic was used after being disposed.
I/flutter (14674): Once you have called dispose() on a LocationLogic, it can no longer be used.
这些是我的提供商:
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,
)
)
如果这对您没有帮助,您需要提供更多背景信息。例如。小部件树是什么样的。
将 ProfileLogic
的依赖项添加到 LocationLogic
后,应用程序启动时出现以下错误:
I/flutter (14674): A LocationLogic was used after being disposed.
I/flutter (14674): Once you have called dispose() on a LocationLogic, it can no longer be used.
这些是我的提供商:
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,
)
)
如果这对您没有帮助,您需要提供更多背景信息。例如。小部件树是什么样的。