Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The method 'read' isn't defined for the type 'BuildContext'.?

    class MyLoginButton extends StatelessWidget {
      final int loginTag;
      final Stream<User> stream;
    
      const MyLoginButton({Key? key, required this.loginTag, required this.stream})
          : super(key: key);
    
      @override
      Widget build(BuildContext context) {
        return GestureDetector(
          onTap: () {
            Navigator.of(context).pop();
          },
          child: Padding(
            padding: const EdgeInsets.all(smallPadding),
            child: StreamBuilder<User>(
                stream: stream,
                builder: (context, snapshot) {
                  /// this is test mode without firebase auth
                  if (context.read(loginModeProvider).state) {
                    SchedulerBinding.instance!
                        .addPostFrameCallback((timeStamp) async {
                      /// mock loading
                      await Future<void>.delayed(const Duration(seconds: 1));
                      await Navigator.pushReplacement(
                          context,
                          MyLoadingRoute<void>(
                              duration: Duration(milliseconds: 500),
                              builder: (context) => MainPage(
                                    heroTag: loginTag,
                                    user: null,
                                  )));
                    });
                    
    }

The method 'read' isn't defined for the type 'BuildContext'.

like image 500
Didier Supernover Avatar asked Nov 01 '25 17:11

Didier Supernover


1 Answers

Add Provider import:

import 'package:provider/provider.dart';
like image 119
MedCh Avatar answered Nov 04 '25 06:11

MedCh