Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.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/5/flutter/10.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
Firebase 吸气剂';uid';被调用为空。颤振_Firebase_Flutter_Dart_Firebase Authentication - Fatal编程技术网

Firebase 吸气剂';uid';被调用为空。颤振

Firebase 吸气剂';uid';被调用为空。颤振,firebase,flutter,dart,firebase-authentication,Firebase,Flutter,Dart,Firebase Authentication,我的应用程序流程如下所示: 包装器->身份验证->登录 但当我运行该应用程序时,它会给我一个红色屏幕和一个例外: The following NoSuchMethodError was thrown building Wrapper(dirty, dependencies: [InheritedProvider<User>], state: _WrapperState#fd39b): The getter 'uid' was called on null. Receiver:

我的应用程序流程如下所示:

包装器->身份验证->登录

但当我运行该应用程序时,它会给我一个红色屏幕和一个例外:

    The following NoSuchMethodError was thrown building Wrapper(dirty, dependencies: [InheritedProvider<User>], state: _WrapperState#fd39b):
The getter 'uid' was called on null.
Receiver: null
Tried calling: uid
生成包装时引发了以下NoSuchMethodError(脏,依赖项:[InheritedProvider],状态:_WrapperState#fd39b):
对null调用了getter“uid”。
收件人:空
已尝试呼叫:uid
我以前运行过它,它运行得很好,但我不知道为什么现在它会显示此异常:

    The following NoSuchMethodError was thrown building Wrapper(dirty, dependencies: [InheritedProvider<User>], state: _WrapperState#fd39b):
The getter 'uid' was called on null.
Receiver: null
Tried calling: uid
主要内容如下:

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return StreamProvider<User>.value(
      value: AuthService().user,
        child: MaterialApp(
          title: 'Sayarty',
          debugShowCheckedModeBanner: false,
          theme: ThemeData(
            primarySwatch: Colors.green,
            visualDensity: VisualDensity.adaptivePlatformDensity,
          ),
          home: Wrapper(),
        ),
    );
  }
}
类MyApp扩展了无状态小部件{
//此小部件是应用程序的根。
@凌驾
小部件构建(构建上下文){
返回StreamProvider.value(
值:AuthService()。用户,
孩子:MaterialApp(
标题:“Sayarty”,
debugShowCheckedModeBanner:false,
主题:主题数据(
主样本:颜色。绿色,
视觉密度:视觉密度。自适应平台密度,
),
主:Wrapper(),
),
);
}
}
下面是包装器类:

    class Wrapper extends StatefulWidget {
  @override
  _WrapperState createState() => _WrapperState();
}

class _WrapperState extends State<Wrapper> {
  int _currentTab = 1;

  final _page = [
    Search(),
    Home(),
    Account(),
  ];

  @override
  Widget build(BuildContext context) {
    final user = Provider.of<User>(context);
    print(user.uid);

    if (user == null) {
      return Authenticate();
    } else {
      return
//        Home();
       }
}
类包装器扩展StatefulWidget{
@凌驾
_WrapperState createState()=>\u WrapperState();
}
类_包装器状态扩展状态{
int _currentTab=1;
最后一页=[
搜索(),
Home(),
帐户(),
];
@凌驾
小部件构建(构建上下文){
最终用户=提供者(上下文);
打印(user.uid);
if(user==null){
返回Authenticate();
}否则{
返回
//Home();
}
}

可能是因为现在您在测试
之前添加了
print(user.uid);
如果user=null

将其放在else中:

//print(user.uid);

if (user == null) {
  return Authenticate();
} else {
  print(user.uid);
  return
    Home();
}

是的,你是对的,我删除了它,它成功了。谢谢