如果需要共享两种相同的类型,如何在Provider.of
中获取它们的值?
void main() {
final int counter1 = 48;
final int counter2 = 12;
runApp(
MultiProvider(
providers: [
Provider<int>.value(value: counter1),
Provider<int>.value(value: counter2),
],
child: MyApp(),
),
);
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
final _counter1 = Provider.of<int>(context); // ??
final _counter2 = Provider.of<int>(context); // ??
}
}
答案 0 :(得分:0)
您不能执行此操作,必须以某种方式更改类型。
您可以创建一个类,该类包含简单的计数器值以及如何更改一个int的类型。
如果您同时使用提供程序,那么当您访问child中的提供程序时,您只能接收最接近的提供程序的值。
有关更多信息,请查看官方document