![](/img/trans.png)
[英]Provider Error: Could not find the correct Provider<Color> above this MyApp Widget
[英]context provided but throws error Could not find the correct Provider<Data> above this MyApp Widget Flutter
我正在使用提供程序進行狀態管理。 狀態變量適用於其他小部件。 但是當我在 materialApp 中為主題使用狀態變量時,這會引發錯誤(也重新啟動)。 還聲明了樹中的提供者。
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ChangeNotifierProvider<Data>(
create: (context) => Data(),
child: MaterialApp(
theme: Provider.of<Data>(context).current,
home: Page1(),
debugShowCheckedModeBanner: false,
),
);
}}
數據類:
class Data extends ChangeNotifier {
String school = "xyz";
String name = "samuel";
int age = 123;
int val = 0;
String userinput = "";
ThemeData current = ThemeData.dark();
void increment() {
val++;
notifyListeners();
}
void display(String char) {
userinput = char;
notifyListeners();
}
}
實際上,當您使用上下文時,而不是使用this.context
。 這將采用成員變量上下文而不是上面寫在 creare 參數下的 'context' 行。
void main(){
runApp(ChangeNotifierProvider<Data>(
create: (context) => Data(),
child: MyApp(),
),);
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Consumer<Data>(
builder: (context, appState, child) {
return MaterialApp(
theme: Provider.of<Data>(context).current,
debugShowCheckedModeBanner: false,
home: Page1(),
);
},
);
}
}
用消費者包裝您的材料應用程序並嘗試一次此代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.