初始化用户类型

问题描述 投票:0回答:1

我正在尝试实现以下代码块,但

User _user
显示警告为:

不可为空的实例字段“_user”必须初始化。 尝试添加初始化表达式,或初始化它的生成构造函数,或将其标记为“late”。dartnot_initialized_non_nullable_instance_field

class _LandingPageState extends State<LandingPage> {
  User _user;
  @override
  Widget build(BuildContext context) {
    if (_user == null) {
      return const SigninScreen();
    }
    return Container();
  }
}

如何初始化这个值?

我试过了,但没用。

User _user = null;
flutter dart
1个回答
0
投票

在 flutter/dart 中,我们不像其他语言那样使用

User _user = null;
将变量初始化为 null。

您可以:

  • 最初可以使用像这样的
    ?
    符号将其声明为null
    User? _user;
    ,现在可以处理null了
  • 如果你知道变量在使用前会被初始化为非空值,你可以使用关键字
    late
    liek this
    late User _user;
    这会告诉 Dart 编译器它将在使用前初始化,否则你会在运行时得到错误
© www.soinside.com 2019 - 2024. All rights reserved.