#问题#这是我的代码,它是一个用于练习提供商包的简单应用程序,但当我运行它时,它是空白的画布出现了。
#我想要从中得到什么#有人能告诉我为什么屏幕上什么都没有显示吗?我尝试过创建一个新的项目,但运行它仍然不起作用。
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
void main() => const MyApp();
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return ChangeNotifierProvider<Data>(
create: (context) => Data(),
child: MaterialApp(
theme: ThemeData.dark(),
home: Scaffold(
appBar: AppBar(
title: const MyText(),
),
body: const Level1(),
),
),
);
}
}
class Level1 extends StatelessWidget {
const Level1({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return const Level2();
}
}
class Level2 extends StatelessWidget {
const Level2({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Column(
children: const [
MyTextField(),
Level3(),
],
);
}
}
class Level3 extends StatelessWidget {
const Level3({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Text(Provider.of<Data>(context).data);
}
}
您的代码中有一个小错误。。。第4行
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
//void main() => const MyApp();
void main() => runApp(const MyApp()); // Update this line.
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
...
在flutter land中,runApp
函数负责对根窗口小部件进行充气。
更新您的main
函数以调用runApp
函数并传入根小部件,MyApp
(在本例中为)。这应该能解决问题。