回答編集履歴
1
読みやすく変更
test
CHANGED
@@ -1,4 +1,26 @@
|
|
1
|
+
メソッドはクラスの中で作成するものだと思います。
|
2
|
+
|
3
|
+
setStateは状態(state)を持つクラスの中でのみ使えるはずなので、別ファイルでsetStateを含むメソッドを記述していたとしても、流用することは難しいと考えます。
|
4
|
+
|
5
|
+
以上を前提に、3つほどsetStateを活用したパターンを作ってみました。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
①メソッド切り出しパターン
|
10
|
+
|
11
|
+
②クラスとしてcomponentを分割するパターン
|
12
|
+
|
13
|
+
③setStateの中で、関数の戻り値を応用するパターン
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
印象としては②が一般的かと思います。可読性もよく、パフォーマンスも優れていると思います。
|
18
|
+
|
19
|
+
|
20
|
+
|
1
|
-
|
21
|
+
home_screen.dart
|
22
|
+
|
23
|
+
```dart
|
2
24
|
|
3
25
|
import 'package:flutter/material.dart';
|
4
26
|
|
@@ -164,7 +186,11 @@
|
|
164
186
|
|
165
187
|
|
166
188
|
|
167
|
-
|
189
|
+
components.dart
|
190
|
+
|
191
|
+
新しくReusableButtonを作成しています。その中で、VoidCallback(戻り値のないタイプの関数)を変数として組み込んでいます。
|
192
|
+
|
193
|
+
```dart
|
168
194
|
|
169
195
|
import 'package:flutter/material.dart';
|
170
196
|
|
@@ -206,7 +232,13 @@
|
|
206
232
|
|
207
233
|
|
208
234
|
|
209
|
-
|
235
|
+
utilities.dart
|
236
|
+
|
237
|
+
変数messageの内容を引数として受け取り、String型の戻り値を返しています。
|
238
|
+
|
239
|
+
|
240
|
+
|
241
|
+
```dart
|
210
242
|
|
211
243
|
import 'package:flutter/material.dart';
|
212
244
|
|