Я только начинаю с Flutter и Provider, и я пытаюсь обернуть голову рендерингом двух разных виджетов в зависимости от состояния входа пользователя.
Я запускаю YouBeautyApp () как потомок ChangeNotifierProvider, но я по-прежнему получаю следующую ошибку:
Ошибка: не удалось найти правильного провайдера над этим виджетом YouBeautyApp
Куда я с ним ошибаюсь?
Многие танки!
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'auth.dart';
import 'home_page.dart';
import 'login_page.dart';
void main() => runApp(
ChangeNotifierProvider<AuthService>(
create: (_) => new AuthService(),
child: YouBeautyApp(),
),
);
class YouBeautyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'You Beauty App',
theme: ThemeData(primarySwatch: Colors.red),
home: FutureBuilder(
future: Provider.of<AuthService>(context).getUser(),
builder: (context, AsyncSnapshot snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
return snapshot.hasData ? HomePage() : LoginPage();
} else {
return Container(color: Colors.white);
}
},
),
);
}
}