状态管理失败。
我用 materialapp 包裹了启动画面,但出现以下错误
错误:在构建 FutureBuilder(state: _FutureBuilderState#28998) 时抛出了以下断言: 未找到 MediaQuery 小部件祖先。
返回脚手架( 身体:中心( 孩子:CircularProgressIndicator(), ), );
修改这部分返回Container(),错误就会消失。但这似乎不是正常方式。
这是因为它在启动画面触发之前显示了一段时间的空白屏幕。
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
final _init = Firebase.initializeApp();
return FutureBuilder(
future: _init,
builder: (BuildContext context, snapshot) {
if (snapshot.hasError) {
return Scaffold(
body: Column(
children: [
Icon(Icons.error),
Center(
child: Text('something went wrong!'),
),
],
),
);
} else if (snapshot.hasData) {
return MultiProvider(
providers: [
ChangeNotifierProvider<AuthProvider>.value(
value: AuthProvider(),
),
StreamProvider<User?>.value(
value: AuthProvider().user,
initialData: null,
catchError: (_, err) => null,
),
ChangeNotifierProvider(
create: (BuildContext context) =>
MovieNowPlayingProvider()),
ChangeNotifierProvider(
create: (BuildContext context) => TvPopularProvider()),
],
child: MaterialApp(
debugShowCheckedModeBanner: false,
home: SplashScreen(),
),
);
}
return Scaffold(
body: Center(
child: CircularProgressIndicator(),
),
);
});
}
}