我是颤振新手。我在 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”。
在您的
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,
});
}
删除 Widget 上方的
const
关键字。