【问题标题】:The getter 'create' isn't defined for the type 'flutter class'没有为“颤振类”类型定义吸气剂“创建”
【发布时间】:2021-09-20 17:44:19
【问题描述】:

我正在使用 Flutter,并且已经使用类 Routes 在视图之间导航,但是 IDE 会抛出下一个错误: 错误:没有为“UserLogin”类型定义吸气剂“create”。 这是代码:

class Routes{
  static const login = '/';
  static const registra = '/registra';
  static const home = '/home';
  static const info = '/info';
  static const incons = '/incons';


  static Route routes(RouteSettings routeSettings){
    switch(routeSettings.name){
      case login:
        return _buildRoute(UserLogin.create);
      case registra:
        return _buildRoute(EmailCreate.create);
      case home:
        return _buildRoute(HomeMenu.create);
      case info:
        return _buildRoute(UserInfoMenu.create);
      case incons:
        return _buildRoute(IssuesContainer.create);
      default:
        throw Exception('Route does not exists');
    }
  }

  static MaterialPageRoute _buildRoute(Function build)=> MaterialPageRoute(builder: (context)=>build(context));

}

我正在导入我正在使用的所有类,但唯一不会引发任何错误的是 EmailCreate 一个

我附上Routes类的实现:

final _navigatorkey = GlobalKey<NavigatorState>();

class MyApp extends StatelessWidget {

  static Widget create(){
    return BlocListener<AuthCubit, AuthState>(
      listener: (context, state){
        if (state is AuthSignedOut){
          _navigatorkey.currentState?.pushNamedAndRemoveUntil(Routes.login, (route) => false);
        }else if (state is AuthSignedIn){
          _navigatorkey.currentState?.pushNamedAndRemoveUntil(Routes.home, (route) => false);
        }
      },
      child: MyApp(),
    );
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      navigatorKey: _navigatorkey,
      title: 'Flutter Demo',
      onGenerateRoute: Routes.routes,
    );
  }
}

我不知道使用 Navigator.push 和 Navigator.pop 代替 Routes 是否更好。

【问题讨论】:

  • 您能否显示以下类的代码:UserLoginEmailCreateHomeMenuUserInfoMenuIssuesContainer

标签: firebase flutter navigation


【解决方案1】:

getter 'create' 没有为类型 'UserLogin' 定义

这意味着您没有用于 UserLogin 类的 create 方法/getter。

当您将静态方法create 添加到类时,该错误将消失。

【讨论】:

  • 行得通,谢谢! ??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-23
  • 1970-01-01
  • 2021-04-14
  • 2021-09-17
  • 2021-03-26
  • 2020-12-07
  • 1970-01-01
相关资源
最近更新 更多