I am trying to follow the course until StartApp Screen topic. I got this kind of error because of Provider.of is null.
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Error: Could not find the correct Provider<LoggedUser> above this SignUpForm Widget
E/flutter (21378):
E/flutter (21378): This happens because you used a `BuildContext` that does not include the provider
E/flutter (21378): of your choice. There are a few common scenarios:
E/flutter (21378):
E/flutter (21378): - You added a new provider in your `main.dart` and performed a hot-reload.
E/flutter (21378): To fix, perform a hot-restart.
E/flutter (21378):
E/flutter (21378): - The provider you are trying to read is in a different route.
E/flutter (21378):
E/flutter (21378): Providers are "scoped". So if you insert of provider inside a route, then
E/flutter (21378): other routes will not be able to access that provider.
E/flutter (21378):
E/flutter (21378): - You used a `BuildContext` that is an ancestor of the provider you are trying to read.
E/flutter (21378):
E/flutter (21378): Make sure that SignUpForm is under your MultiProvider/Provider<LoggedUser>.
E/flutter (21378): This usually happens when you are creating a provider and trying to read it immediately.
E/flutter (21378):
E/flutter (21378): For example, instead of:
E/flutter (21378):
E/flutter (21378): ```
E/flutter (21378): Widget build(BuildContext context) {
E/flutter (21378): return Provider<Example>(
E/flutter (21378): create: (_) => Example(),
E/flutter (21378): // Will throw a ProviderNotFoundError, because `context` is associated
E/flutter (21378): // to the widget that is the parent of `Provider<Example>`
E/flutter (21378): child: Text(context.watch<Example>().toString()),
E/flutter (21378): );
E/flutter (21378): }
E/flutter (21378): ```
E/flutter (21378):
E/flutter (21378): consider using `builder` like so:
E/flutter (21378):
E/flutter (21378): ```
E/flutter (21378): Widget build(BuildContext context) {
E/flutter (21378): return Provider<Example>(
E/flutter (21378): create: (_) => Example(),
E/flutter (21378): // we use `builder` to obtain a new `BuildContext` that has access to the provider
E/flutter (21378): builder: (context, child) {
E/flutter (21378): // No longer throws
E/flutter (21378): return Text(context.watch<Example>().toString());
E/flutter (21378): }
E/flutter (21378): );
E/flutter (21378): }
E/flutter (21378): ```
E/flutter (21378):
E/flutter (21378): If none of these solutions work, consider asking for help on StackOverflow:
E/flutter (21378): https://stackoverflow.com/questions/tagged/flutter
E/flutter (21378):
E/flutter (21378): #0 Provider._inheritedElementOf (package:provider/src/provider.dart:343:7)
E/flutter (21378): #1 Provider.of (package:provider/src/provider.dart:293:30)
E/flutter (21378): #2 _SignUpFormState._saveForm (package:todo_app/screens/signup_form.dart:167:33)
E/flutter (21378): #3 _SignUpFormState._submitButton.<anonymous closure> (package:todo_app/screens/signup_form.dart:159:13)
E/flutter (21378): #4 _InkResponseState.handleTap (package:flutter/src/material/ink_well.dart:1154:21)
E/flutter (21378): #5 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:275:24)
E/flutter (21378): #6 TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:654:11)
E/flutter (21378): #7 BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:311:5)
E/flutter (21378): #8 BaseTapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:281:7)
E/flutter (21378): #9 GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:167:27)
E/flutter (21378): #10 GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:492:20)
E/flutter (21378): #11 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:468:22)
E/flutter (21378): #12 RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:333:11)
E/flutter (21378): #13 GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:413:7)
E/flutter (21378): #14 GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:376:5)
E/flutter (21378): #15 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:323:7)
E/flutter (21378): #16 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:292:9)
E/flutter (21378): #17 _invoke1 (dart:ui/hooks.dart:186:13)
E/flutter (21378): #18 PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:424:7)
E/flutter (21378): #19 _dispatchPointerDataPacket (dart:ui/hooks.dart:119:31)
E/flutter (21378):
D/DecorView[](21378): onWindowFocusChanged hasWindowFocus false
I/FA (21378): Application backgrounded at: timestamp_millis: 1693685303310
Kindly help
Course: Build and Publish Your First Mobile App Using Flutter - Learn Interactively
Lesson: StartApp Widget - Build and Publish Your First Mobile App Using Flutter