flutter - 当flutter的提供程序中的多个类型相同时,如何获取值?

标签 flutter dart

如果需要共享两种相同的类型,如何在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);  // ??
  }
}

最佳答案

您无法执行此操作,必须以某种方式更改类型。

您可以创建一个类,该类包含简单的计数器值以及如何更改一个int的类型。

如果您同时使用提供程序,则当您访问child中的提供程序时,您只能接收最接近的提供程序的值。

有关更多信息,请查看官方document

关于flutter - 当flutter的提供程序中的多个类型相同时,如何获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58502392/

相关文章:

Flutter:如何在 Flutter Google map 中使用 Lat Long 获取地点名称

dart - Flutter 中的卡片按钮如何像 Reddit App 一样合在一起?

flutter - 如何防止多次点击一个手势?

flutter - flutter 中是否有数字输入字段,该字段附有递增/递减按钮?

dart - Flutter - JSON 和时间序列图表

dart - Flutter:启动时共享首选项为空

json - 尝试将类型 'FolderBasedDartSdk' 用作函数

json - Dart/Flutter中的Json oneOf获取FHIR资源

flutter - 在小部件构建函数中直接调用时,ScaffoldMessenger.of(context).showSnackBar() 不起作用

flutter - 我在控制台打印的末尾一直收到 'null'