freezedで生成するクラスについて、共通するパラメータを別クラスに切り出したいと考えています。
具体的には、以下の通り、listItemと、listItemDetailクラスがあり、
それぞれidとtitleのプロパティを保持している場合、
idとtitleのプロパティだけを持っているクラスとして、別に切り出したいです。
ただ、freezedの制約で、継承などはできないと思われます。
どのように切り出すことができるでしょうか?
dart
1import 'package:freezed_annotation/freezed_annotation.dart'; 2 3part 'listItem.freezed.dart'; 4part 'listItem.g.dart'; 5 6 7abstract class listItem with _$listItem { 8 factory listItem({ 9 required String id, 10 required String title, 11 }) = _listItem; 12 13 factory listItem.fromJson(Map<String, dynamic> json) => 14 _$listItemFromJson(json); 15} 16
dart
1import 'package:freezed_annotation/freezed_annotation.dart'; 2 3part 'listItemDetail.freezed.dart'; 4part 'listItemDetail.g.dart'; 5 6 7abstract class listItemDetail with _$listItemDetail { 8 factory listItemDetail({ 9 10 //idとtitleは、listItemと同じため、共通化して切り出したい 11 required String id, 12 required String title, 13 14 required String detail, 15 }) = _listItemDetail; 16 17 factory listItemDetail.fromJson(Map<String, dynamic> json) => 18 _$listItemDetailFromJson(json); 19} 20 21
あなたの回答
tips
プレビュー