![](/img/trans.png)
[英]Using BLoC in Flutter - Usage in Stateful widgets vs Stateless Widgets
[英]Using context outside stateless or stateful widgets
我将为此解释我的用例
我有一个继承的窗口小部件,其中包含一些值,例如BaseApiUrl和appname
class Config extends InheritedWidget {
Config({
@required this.appName,
@required this.flavorName,
@required this.apiBaseUrl,
@required Widget child,
}) : super(child: child);
final String appName;
final String flavorName;
final String apiBaseUrl;
static Config of(BuildContext context) {
return context.inheritFromWidgetOfExactType(Config);
}
@override
bool updateShouldNotify(InheritedWidget oldWidget) => false;
}
这在基于上下文的类中很好用,但是如果我在需要apiBaseUrl
地方有这个类apiBaseUrl
import 'dart:async';
import 'package:http/http.dart';
class LoginRequest {
Client client = Client();
Future<Response> login(credentials) async => await client.get('');
}
能做到这一点吗?
上下文很重要,因此Flutter知道树中要在哪里查找InheritedWidget实例,因为可能有多个。 如果这不是您的用例,则可以考虑将所需的数据移动到简单的单例类(而不是小部件)中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.