跨路线但在 MaterialApp 之后的提供商

Hen*_*Cho 1 flutter flutter-provider

我有一个类需要访问MaterialApp context,但它也需要从所有路由进行全局访问。

要创建全局提供程序,我可以用 包装MaterialAppProvider但此类提供程序无法访问context. 因此,我必须提供之后的课程MaterialApp

我意识到我可以用提供者包装每条路由,因为它是无状态的,但我想知道是否有更好的方法来做到这一点。

提前致谢!

Rém*_*let 5

您可以使用builderonGenerateRouteMaterialApp

MaterialApp(
  builder: (context, child) {
    return Provider.value(
       value: // TO-DO use context
      child: child, 
    );
  }
) 
Run Code Online (Sandbox Code Playgroud)