Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振错误:提供程序无法访问导航中的路由_Flutter_Dart_Provider - Fatal编程技术网

Flutter 颤振错误:提供程序无法访问导航中的路由

Flutter 颤振错误:提供程序无法访问导航中的路由,flutter,dart,provider,Flutter,Dart,Provider,当我运行此程序时,我不断收到相同的错误,请协助 Future<void> main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); runApp(App()); } class App extends StatelessWidget { final Color primar

当我运行此程序时,我不断收到相同的错误,请协助

 Future<void> main() async {
          WidgetsFlutterBinding.ensureInitialized();
          await Firebase.initializeApp();
          runApp(App());
        }
    
class App extends StatelessWidget {
  final Color primaryColor = Color(0xff18203d);

  @override
  Widget build(BuildContext context) {
    // ignore: todo
    // TODO: implement build
    return MultiProvider(
        providers: [
          Provider<AuthenticationService>(
            create: (_) => AuthenticationService(FirebaseAuth.instance),
          ),
          StreamProvider(
            create: (_context) =>
                _context.read<AuthenticationService>().authStateChanges,
            initialData: null,
          ),
        ],
        child: MaterialApp(
          title: 'Mboka Horticulture',
          theme: ThemeData(
            primaryColor: primaryColor,
            visualDensity: VisualDensity.adaptivePlatformDensity,
          ),
          home: AuthenticationWrapper(),
        ));
  }
}

class AuthenticationWrapper extends StatelessWidget {
  const AuthenticationWrapper({
    Key? key,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    // ignore: todo
    // TODO: implement build
    final firebaseuser = context.watch<User>();
    if (firebaseuser != null) {
      return Dashboard();
    }
    return Login();
  }
}
Future main()异步{
WidgetsFlutterBinding.ensureInitialized();
等待Firebase.initializeApp();
runApp(App());
}
类应用程序扩展了无状态小部件{
最终颜色primaryColor=颜色(0xff18203d);
@凌驾
小部件构建(构建上下文){
//忽略:todo
//TODO:实现构建
回程多供应商(
供应商:[
提供者(
创建:()=>AuthenticationService(FirebaseAuth.instance),
),
流提供者(
创建:(_上下文)=>
_context.read().authStateChanges,
initialData:null,
),
],
孩子:MaterialApp(
标题:“姆博卡园艺”,
主题:主题数据(
primaryColor:primaryColor,
视觉密度:视觉密度。自适应平台密度,
),
主页:AuthenticationWrapper(),
));
}
}
类AuthenticationWrapper扩展了无状态小部件{
const AuthenticationWrapper({
钥匙?,钥匙,
}):super(key:key);
@凌驾
小部件构建(构建上下文){
//忽略:todo
//TODO:实现构建
final firebaseuser=context.watch();
if(firebaseuser!=null){
返回仪表板();
}
返回登录名();
}
}
这是我一直犯的错误,我不明白

**提供者是“有范围的”。所以,如果在 那么路线呢 其他路由将无法访问该提供商

- You used a `BuildContext` that is an ancestor of the provider you are trying to read.

  Make sure that AuthenticationWrapper is under your MultiProvider/Provider<User>.
  This usually happens when you are creating a provider and trying to read it immediately.

  For example, instead of:**
-您使用了“BuildContext”,它是您试图读取的提供程序的祖先。
确保AuthenticationWrapper位于MultiProvider/Provider下。
这通常发生在创建提供者并尝试立即读取它时。
例如,而不是:**

这是供应商吗?AuthenticationWrapper,添加此pleaseAuthenticationWrapper的代码段是一个无状态widgetdo检查此post@griffins AuthenticationWrapper是一个无状态Widget您正在创建和使用的提供程序都在同一个小部件主窗口中,因此所有内容都在同一个BuildContext上,并且在运行context.watch()时;Flatter将尝试在您的小部件树中查找模型,但由于您刚刚创建了模型,所以它找不到模型