Дочерняя ошибка провайдера флаттера: не удалось найти правильный провайдер <AuthService>над этим виджетом YouBeautyApp - PullRequest
0 голосов
/ 07 февраля 2020

Я только начинаю с 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);
          }
        },
      ),
    );
  }
}
...