我已经基于构建环境(生产/开发)实现了环境变量。环境配置作为InheritedWidget沿小部件树传递。我能够在树下访问这些环境变量。 (请参阅本文-https://cogitas.net/creating-flavors-of-a-flutter-app/)
但是,我还创建了一个API帮助器类来进行API调用。我想访问该类中的环境变量之一(BASE_URL)。 由于此类不是窗口小部件树的一部分,因此无法访问它。
如何在非窗口小部件类中访问这些环境变量?
答案 0 :(得分:2)
答案很简单:将您的API帮助程序包装到小部件中。
您可以通过传递“环境”作为参数来创建自定义的StatefulWidget,以实例化API帮助器。然后使用小部件上下文公开该帮助程序。也许可以使用InheritedWidget,或者仅使用context.ancestorStateOfType