使用 bloc 创建全局加载屏幕的最佳方法?

Best way to create a global loading screen with bloc?

我尝试在与第一个脚手架堆叠在一起的小部件树顶部创建一个加载屏幕小部件。它在脚手架内工作正常。当我 navigator.push 到另一个脚手架并尝试触发加载屏幕时,它不会出现在第二个脚手架上。它仅适用于第一个脚手架。

我看到了一种使用单个脚手架应用程序的方法。但它不适合我的上下文。有什么方法可以创建影响其下方所有脚手架的堆栈,或者 使用全局加载屏幕、带 BLOC 的对话框的最佳方法是什么

创建全局加载屏幕或对话框的最佳方法是使用 get package 路由管理功能,您需要做的就是用

包裹您的小部件树

GetMaterialApp 而不是 MaterialApp

然后你可以调用

Get.generalDialog(...)Get.dialog(...)

应用程序中的任何位置。如果您决定使用其他方式,例如 flutter 的内置 showDialog(...) 并且需要访问基础 MaterialApp 的上下文,您可以调用 Get.context