回答編集履歴

1

Todoクラスを修正

2020/11/01 08:18

投稿

f-miyu
f-miyu

スコア1625

test CHANGED
@@ -4,27 +4,39 @@
4
4
 
5
5
  ```Dart
6
6
 
7
- class Todo {
8
-
9
- final String id;
10
-
11
- final String title;
7
+ import 'package:freezed_annotation/freezed_annotation.dart';
12
8
 
13
9
 
14
10
 
11
+ part 'todo.freezed.dart';
12
+
15
- Todo({this.id, this.title});
13
+ part 'todo.g.dart';
16
14
 
17
15
 
18
16
 
19
- Todo.fromJson(Map<String, dynamic> json)
17
+ //Todoのモデルを実装
20
18
 
21
- : id = json['id'],
19
+ @freezed
22
20
 
23
- title = json['title'];
21
+ abstract class Todo with _$Todo {
22
+
23
+ //抽象的なクラス。インスタンス化できない
24
24
 
25
25
 
26
26
 
27
+ const factory Todo({
28
+
29
+ String id, // uuidで割りつける予定
30
+
31
+ String title,
32
+
33
+ @Default(false) bool completed, //@Defaultで初期値を与えるpage=0ではない
34
+
35
+ }) = TodoData;
36
+
37
+
38
+
27
- Map<String, dynamic> toJson() => {'id': id, 'title': title};
39
+ factory Todo.fromJson(Map<String, dynamic> json) => _$TodoFromJson(json);
28
40
 
29
41
  }
30
42