kube-prometheus-stack 相关问题


使用 Prometheus 从默认 kubelet 和指标服务器中进行抓取

我想在 kube-system 命名空间中使用 Prometheus 从默认 kubelet 和指标服务器中删除指标。我怎样才能做到这一点? 我尝试使用此配置,但没有成功。我...


Prometheus 目标返回 http 状态 404 未找到

我想将 Jenkins 与 Prometheus 集成,并在 Jenkins 上安装 Prometheus 插件,并在 Prometheus 中设置以下配置。 Prometheus 上的目标显示“服务器重新...


无法为 kube-scheduler 设置新的 api 服务器地址

我将所有主节点上的API服务器IP地址更改为内部网络地址。我还在 kube-controller-manager 和 kubelet 中更改了它。重启 kubelet 后,kube-controller-manager 获得了新的 ip...


Prometheus - 查询以显示随时间变化的连接用户数量

我想创建一个 Grafana 图表,显示一段时间内连接/活跃用户的数量。 我的端点将此指标公开给 Prometheus : # 按userId的请求数 client_request_total{id...


带有 sum by(status) 的 Prometheus 查询尽管单个查询有效,但在组合查询中没有产生任何结果

我在 Prometheus 查询中遇到了一个特殊问题,即组合两个查询会导致没有数据,即使每个单独的查询都返回结果。目标是计算差异...


Github Action 构建部署 Docker .Net 8 WebApi 失败 - “程序不包含适合入口点的静态‘Main’方法”

我正在尝试完成 Github 操作,以使用 Docker 构建和部署我的 .Net8 Web API 到 Kubernetes。这是我当前用于工作流程的 yml 文件: 名称:部署到 DigitalOcean Kube...


Stack Exchange API 测试的虚拟问题

这个问题是个假问题。我目前正在测试 Stack Exchange API,需要一个问题来测试编辑,以便在开发 API 客户端时不会破坏该网站上的真实内容。 当我...


在 Telegraf 中如何仅包含标签的特定值

我正在 Telegraf 中使用 prometheus 插件从 promitor 获取数据并将其推送到 InfluxDB。但是,根据我的要求,有一个名为“resource_name”的标签,它包含


如何在查询中使用两个不同的项目

我已经开始使用 Prometheus / Grafana。我有一些来自 Kubernetes 集群的数据想要通过仪表板进行显示。特别是对于持久卷声明,我想显示当前的免费


Prometheus 警报第一个计数器值

我正在尝试创建错误警报。有一个指标可以计算应用程序中发生的错误。但当我尝试捕捉它的增加时,它总是返回 0。 增加(应用程序错误[1h]) 即使我...


给定绝对位置的时间序列,如何编写 Prometheus 查询来计算一段时间范围内行驶的距离?

我有一个名为位置的时间序列存储在普罗米修斯中。它代表线性执行器的位置。我想计算执行器在给定时间范围内行驶的距离....


Roblox Studio(Lua) 中克隆玩家角色的问题

您好 Stack Overflow 社区, 我目前在 Roblox Studio 中遇到脚本问题,我试图在加入游戏时复制玩家的角色。主要目标是...


WASM 和对 GPU 的访问?

我一直在尝试使用 Blazor WASM 来访问大多数 GPU 支持的硬件加速功能,但运气不佳。 我搜索了 Stack Overflow 但没有找到太多相关的


ThreadX RTOS 中的堆和堆栈分配

最近我开始学习ThreadX RTOS,我注意到在使用gcc工具链为Cortex-M4提供的链接器脚本和crt0.S中,.stack和.heap部分分配了1024字节大小...


% 运算符的含义是什么?

我最近在 Stack Overflow 上看到一个答案,其中进行计算以确定一个值是奇数还是偶数。使用了 %,它总是返回 0 或 1,具体取决于 val...


Javascript 删除堆栈跟踪字符串中的最后一项

我正在创建一个 Javascript 记录器,在错误消息中,我还添加了堆栈跟踪,如下所示: 函数 logMessage(logMessage) { 让 stackTrace = new Error().stack; 日志消息。


如何让chromedriver无法被检测到

这是我的第一个 Stack Overflow 问题,所以请耐心等待。 我读过这个问题,这让我想知道,是否有可能使 chromedriver 完全无法检测到? 为了我自己


使用 PRAGMA 调用命名异常

当然可以!您可以在 Stack Overflow 上发布以下问题: 标题:在 Oracle PL/SQL 中选择变量时处理异常 身体: 我正在开发一个 Oracle PL/SQL 块,我试图重新...


在js中使用栈反转句子

我想在 JavaScript 中使用 Stack 反转一个句子,所以在这里如果我输入,嘿,你好吗?并想要完成输出?你嘿嘿,所以我遍历循环并检查直到spac...


我正在尝试制作一个应用程序,但删除功能不起作用

删除功能给我“未定义”。请帮助,因为我是编程新手。 提前致谢 https://github.com/bryt11/TodoApp/blob/main/App.js Stack 不允许我发布我的...


通过gdb调试C显示有关内联函数的信息不同

我通过gdb调试C程序。当单步执行普通函数时,命令“info stack”将显示有关该函数的信息和主函数信息(其中普通


locahost 在 React 组件编辑时返回 ERR_CONNECTION_REFUSED

我使用 MEAN stack、nodemon 和 Parcel。每次当我编辑前端代码时,axios都会返回net::ERR_CONNECTION_REFUSED,我需要重新加载页面1-3次才能避免此错误。是什么原因造成的?...


cdsapiera5下载(不使用检索功能而是服务功能)

我想通过 cdsapi 包从era5下载一些数据。 我确实知道大多数数据可以通过使用 cdsapi.Client.retrieve 函数下载。比如我可以在 stack 找到很多例子


docker 上下文截止日期错误,什么意思?

使用 docker 进行 docker stack 部署时,出现“上下文期限已超出或上下文期限未知”错误的含义和原因是什么?我看到很多帖子都有不同的错误...


如何使用 JavaScript 和 CSS 切换不同的配色方案?

我正在重新设计 YouTube 网站,并且正在开发明/暗模式系统。我设置了一些代码,但无法让它工作。经过一些错误修复后,我让它工作了(使用 Stack


Flutter 径向菜单错误:子树中有多个英雄共享相同的标签

我检查了其他 Stack Overflow 答案,并建议它与浮动操作按钮有关,但是: 我的代码中没有浮动操作按钮来触发此错误。 径向按钮没有


从 .net MVC 中的 javascript 访问 C# Web 程序集

我需要从MVC、NET(不是blazor)中的javascript访问一些c#代码。 我有以下内容。这是针对 .NET 和 MVC 堆栈的特定问题,而不是像 stack overf 中的另一个问题那样的通用 ajax 问题...


如何在 pyttsx3 说话时打断或停止它?

我正在使用 pyttsx3 作为语音助手。我想在它说话的时候停下来。我尝试了 Stack Overflow 中给出的许多解决方案。我什至向 ChatGPT、Bing AI、Bard 询问过这个问题。但没有成功。


使用 LaTeX 将图像与三列布局中的项目符号点对齐

我之前在 LaTeX Stack Exchange 上发布了这个查询,但不幸的是,我没有收到任何回复。因此,我将我的问题带到这里,希望找到解决我的问题的方法。 ...


创建包含轨道模型的 gem

我已经阅读了很多有关该主题的文章,但似乎没有什么能完全满足我的需求。如果我重复或不清楚某些事情,我很抱歉,因为我既是 ruby 和 Rails 的新手,也是 Stack Overflow 的新手。 我有...


将行数据分组到二维数组中并计算每组中列的平均值

Stack Overflow 上也有类似的问题,但没有一个像我的问题,我也想仔细检查一下我是否以最有效的方式(资源方面)做到这一点。 我有一些调查结果很......


文档自签名以来已被更改或损坏 使用 PDFBox 时出现问题

我正在尝试使用 Hsm 服务对 pdf 进行签名,该服务接收文档哈希并使用签名的哈希进行响应。我遵循了一些示例并检查了 Stack OverFlow 中与一些类似的相关的帖子


Apss 脚本“if”条件评估不正确

oldnames[i+3]='汤姆' newnames[i]='汤姆' 当两个参数具有相同的值时(见上文),为什么我的代码会执行? 对于 (var i=0 ; i oldnames[i+3]='汤姆' newnames[i]='汤姆' 当两个参数具有相同的值(见上文)时,为什么我的代码会执行? for (var i=0 ; i<pocet2 ; i++) { var oldnaz=(oldnames[i+3]).toString(); var newnaz=(newnames[i]); oldnaz=oldnaz.toString(); newnaz=newnaz.toString(); //Logger.log("oldname = "+oldnaz); //Logger.log("newname = "+newnaz); if(newnames[i]=='' ) { //Logger.log(ss.getSheetByName(oldnames[i+3]).getSheetName()); //Logger.log(i); //Logger.log(i+3); ss.getSheetByName(oldnames[i+3]).setName((i+1).toString()); } ** else if(newnames[i] != oldnames[i+3]) { //Logger.log(newnames[i]); //Logger.log(oldnames[i+3]); ss.getSheetByName(oldnames[i+3]).setName(newnames[i]); }** else { //Nothing } } 我尝试对代码进行一些更改,但结果在各方面都是如此:条件为 TRUE。 但是当第一个值是 Tom 并且第二个值是 Tom 时,则 else if(Tom != Tom) 应该为 FALSE。 非常感谢您的提示。 如果 oldnames 和 newnames 来自使用 range.getValues() 的范围,则这两个变量都是二维数组而不是一维数组。 因此,oldnames[i+3]='Tom' newnames[i]='Tom'是假的,那就是 oldnames[i+3]=['Tom']; //array newnames[i]=['Tom']; /*<ignore>*/console.config({maximize:true,timeStamps:false,autoScroll:false});/*</ignore>*/ const newname=['Tom']; const oldname=['Tom']; console.log(newname != oldname);//expected true <!-- https://meta.stackoverflow.com/a/375985/ --> <script src="https://gh-canon.github.io/stack-snippet-console/console.min.js"></script> 两个数组无法进行比较。获取里面的字符串并比较: else if(newnames[i][0] != oldnames[i+3][0])


错误:在此 BlocBuilder<InternetBloc> Widget<InternetBloc, InternetState> 上方找不到正确的提供程序

我在尝试将 flutter_bloc 集成到 flutter 项目中时遇到错误。 错误:在此 BlocBuilder 上方找不到正确的 Provider 我在尝试将 flutter_bloc 集成到 flutter 项目中时遇到错误。 错误:在此 BlocBuilder Widget 上方找不到正确的提供者 这是我正在使用的代码示例。 internet_state.dart abstract class InternetState{} class InitialInternetState extends InternetState{} class LostConnectionInternetState extends InternetState{} class GainConnectionInternetState extends InternetState{} internet_event.dart abstract class InternetEvent{} class LostConnectionEvent extends InternetEvent{} class GainConnectionEvent extends InternetEvent{} internet_bloc.dart class InternetBloc extends Bloc<InternetEvent, InternetState>{ final Connectivity _connectivity = Connectivity(); StreamSubscription? streamSubscription; InternetBloc() : super(InitialInternetState()){ on<GainConnectionEvent>((event, emit) => emit(GainConnectionInternetState())); on<LostConnectionEvent>((event, emit) => emit(LostConnectionInternetState())); _connectivity.onConnectivityChanged.listen((event) { if(event == ConnectivityResult.mobile || event == ConnectivityResult.wifi){ add(GainConnectionEvent()); } else { add(LostConnectionEvent()); } }); } @override Future<void> close() { streamSubscription?.cancel(); return super.close(); } } main.dart class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), useMaterial3: true, ), home: const MyHomePage(title: 'Flutter Demo Home Page'), ); } } class MyHomePage extends StatelessWidget { const MyHomePage({super.key, required this.title}); final String title; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text(title),), body: SafeArea( child: Center(child: BlocBuilder<InternetBloc, InternetState>( builder: (context, state) { return const Text("hello"); }, )), ),); } } 我明白了。 ======== 小部件库捕获异常====================================== =================== 构建 MediaQuery(MediaQueryData(size: Size(392.7, 783.3), devicePixelRatio: 2.8, textScaler: noscaling, platformBrightness: Brightness.light, padding: EdgeInsets.zero, viewPadding: EdgeInsets.zero, viewInsets: EdgeInsets 时抛出以下 ProviderNotFoundException。零,systemGestureInsets:EdgeInsets(29.8,24.0,29.8,8.0),alwaysUse24HourFormat:假,accessibleNavigation:假,highContrast:假,onOffSwitchLabels:假,disableAnimations:假,invertColors:假,boldText:假,navigationMode:传统,gestureSettings:DeviceGestureSettings (touchSlop:8.0),显示功能:[])): 错误:无法在此 BlocBuilder Widget 之上找到正确的提供程序 发生这种情况是因为您使用了不包含提供程序的 BuildContext 你的选择。有以下几种常见场景: 您在main.dart中添加了一个新的提供程序并执行了热重载。 要修复此问题,请执行热重启。 您尝试阅读的提供商处于不同的路线。 提供商具有“范围”。因此,如果您在路线中插入提供者,那么 其他路线将无法访问该提供商。 您使用了 BuildContext,它是您尝试读取的提供程序的祖先。 确保 BlocBuilder 位于您的 MultiProvider/Provider 下。 当您创建提供程序并尝试立即读取它时,通常会发生这种情况。 例如,代替: Widget build(BuildContext context) { return Provider<Example>( create: (_) => Example(), // Will throw a ProviderNotFoundError, because `context` is associated // to the widget that is the parent of `Provider<Example>` child: Text(context.watch<Example>().toString()), ); } 考虑使用builder,如下所示: Widget build(BuildContext context) { return Provider<Example>( create: (_) => Example(), // we use `builder` to obtain a new `BuildContext` that has access to the provider builder: (context, child) { // No longer throws return Text(context.watch<Example>().toString()); } ); } 如果这些解决方案都不起作用,请考虑在 StackOverflow 上寻求帮助: https://stackoverflow.com/questions/tagged/flutter The relevant error-causing widget was: SafeArea SafeArea:file:///Users/../Projects/flutterTest/bloc_test/lib/main.dart:37:13 When the exception was thrown, this was the stack: #0 Provider._inheritedElementOf (package:provider/src/provider.dart:343:7) #1 Provider.of (package:provider/src/provider.dart:293:30) #2 ReadContext.read (package:provider/src/provider.dart:649:21) #3 _BlocBuilderBaseState.initState (package:flutter_bloc/src/bloc_builder.dart:130:36) #4 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5602:55) #5 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5447:5) ... Normal element mounting (4 frames) #9 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4326:16) #10 Element.updateChild (package:flutter/src/widgets/framework.dart:3831:20) #11 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #12 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #13 ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5) #14 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #15 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6743:14) #16 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #17 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #18 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #19 StatelessElement.update (package:flutter/src/widgets/framework.dart:5547:5) #20 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #21 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #22 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #23 StatelessElement.update (package:flutter/src/widgets/framework.dart:5547:5) #24 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #25 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #26 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #27 StatelessElement.update (package:flutter/src/widgets/framework.dart:5547:5) #28 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #29 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #30 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #31 ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5) #32 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #33 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #34 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #35 ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5) #36 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #37 Element.updateChildren (package:flutter/src/widgets/framework.dart:3964:32) #38 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6896:17) #39 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #40 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #41 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #42 ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5) #43 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #44 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #45 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5634:11) #46 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #47 StatefulElement.update (package:flutter/src/widgets/framework.dart:5657:5) #48 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #49 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #50 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5634:11) #51 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #52 StatefulElement.update (package:flutter/src/widgets/framework.dart:5657:5) #53 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #54 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #55 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #56 ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5) #57 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #58 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #59 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5634:11) #60 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #61 StatefulElement.update (package:flutter/src/widgets/framework.dart:5657:5) #62 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #63 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6743:14) #64 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #65 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #66 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #67 ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5) #68 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #69 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6743:14) #70 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #71 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #72 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5634:11) #73 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #74 StatefulElement.update (package:flutter/src/widgets/framework.dart:5657:5) #75 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #76 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #77 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5634:11) #78 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #79 StatefulElement.update (package:flutter/src/widgets/framework.dart:5657:5) #80 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #81 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #82 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #83 ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5) #84 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #85 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #86 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #87 ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5) #88 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #89 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #90 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #91 ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5) #92 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #93 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #94 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5634:11) #95 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #96 StatefulElement.update (package:flutter/src/widgets/framework.dart:5657:5) #97 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #98 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #99 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #100 ProxyElement.update (package:flutter/src/widgets/framework.dart:5800:5) #101 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #102 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #103 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5634:11) #104 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #105 StatefulElement.update (package:flutter/src/widgets/framework.dart:5657:5) #106 Element.updateChild (package:flutter/src/widgets/framework.dart:3815:15) #107 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5496:16) #108 Element.rebuild (package:flutter/src/widgets/framework.dart:5187:7) #109 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2895:19) #110 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:984:21) #111 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:457:5) #112 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1325:15) #113 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1255:9) #114 SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:978:7) #118 _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12) (elided 3 frames from class _Timer and dart:async-patch) ==================================================================================================== 我不想使用像 MultiProvider 这样的全局提供程序。 您应该在某处创建 InternetBloc 并提供它。 MultiProvider 本身并不是全局的,它只是多个。 更多信息在这里:https://bloclibrary.dev/#/flutterbloccoreconcepts?id=blocprovider 所以,如果您不想使用全局提供程序,它将看起来像这样: class MyHomePage extends StatelessWidget { const MyHomePage({super.key, required this.title}); final String title; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(title), ), body: SafeArea( child: Center( child: BlocProvider<InternetBloc>( create: ( context) => InternetBloc(), child: BlocBuilder<InternetBloc, InternetState>( builder: (context, state) { return const Text("hello"); }, ), ), ), ), ); } } 要使用 BlocBuilder,您需要在 Widget 树中放置一个 BlocProvider。最佳实践是将其放置得尽可能深。在您的情况下,只需将 BlocProvider 放在 BlocBuilder 之上。 此外 MultiProvider / MultiBlocProvider 不是全局 Provider。它只是一个提供多个 Provider/BlocProvider 的便捷小部件。 class MyHomePage extends StatelessWidget { const MyHomePage({super.key, required this.title}); final String title; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(title), ), body: SafeArea( child: Center( // Now everything below that can access the InternetBloc child: BlocProvider<InternetBloc>( create: (_) => InternetBloc(), child: BlocBuilder<InternetBloc, InternetState>( builder: (context, state) { return const Text("hello"); }, ), ), ), ), ); } }


© www.soinside.com 2019 - 2024. All rights reserved.