Flutter 错误 - 如何解决:被调用的构造函数不是 const 构造函数。尝试从构造函数调用中删除“const”

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

我是颤振新手。我在 const 构造函数方面遇到了一些问题。

class StartOnboarding extends OnboardingEvent {
  final User user;

  const StartOnboarding({
    this.user = const User(
      id: '',
      name: '',
      age: 0,
      gender: '',
      imageUrls: [],
    
    ),
  });

  @override
  List<Object?> get props => [user];
}

我收到这两个错误:

可选参数的默认值必须是常量。

被调用的构造函数不是 const 构造函数。 尝试从构造函数调用中删除“const”。

flutter dart constructor bloc
2个回答
0
投票

在您的

User
构造函数中,您需要使用
const
才能在
StartOnboarding

上使用 const

class StartOnboarding extends OnboardingEvent {
  final User user;

  const StartOnboarding({
    this.user = const User(
      id: '',
      name: '',
      age: 0,
      gender: '',
      imageUrls: [],
    ),
  });

  @override
  List<Object?> get props => [user];
}

class User {
  final String id;
  final String name;
  final int age;

  final String gender;
  final List<String> imageUrls;
 const  User({
    required this.id,
    required this.name,
    required this.age,
    required this.gender,
    required this.imageUrls,
  });
}

0
投票

删除 Widget 上方的

const
关键字。

© www.soinside.com 2019 - 2024. All rights reserved.