如何在 Flutter 中重构?
How to refactor in flutter?
我是 flutter 的初学者,我不知道如何重构。
我不想在每个 class 中写相同的 Dart 属性。
getAlert_1({required BuildContext context,required String title, required String msg}){
return AwesomeDialog(
context: context,
title: title,
desc: msg,
dialogType: DialogType.INFO
)..show();
}
getAlert_2({required BuildContext context,required String title, required String msg}){
return AwesomeDialog(
context: context,
title: title,
desc: msg
dialogType: DialogType.SUCCES
)..show();
}
getAlert_2({required BuildContext context,required String title, required String msg}){
return AwesomeDialog(
context: context,
title: title,
desc: msg,
dialogType: DialogType.WARNING
)..show();
}
我想重构下面的代码。
context: context,
title: title,
desc: msg,
请教我怎么做。
创建一个包含 class 的文件,该文件将具有 returns 自定义小部件的功能,您可以在整个项目中重复使用。
创建一个名为 customAwesomeDialog.dart.
的文件
在文件中,创建如下:
import 'package:flutter/material.dart';
class CustomAwesomeDialog {
CustomAwesomeDialog();
generateDialog(BuildContext context, String title, String description) {
return AwesomeDialog(
context: context,
title: title,
desc: description
dialogType: DialogType.SUCCES
)..show();
}
}
现在转到要调用此小部件的任何 class 文件。
导入上面的class.
import ‘customAwesomeDialog.dart’;
实例化 class
CustomAwesomeDialog cDialog = CustomAwesomeDialog();
然后在class
内使用
cDialog.generateDialog(context, “Success”, “You have made it”);
我是 flutter 的初学者,我不知道如何重构。
我不想在每个 class 中写相同的 Dart 属性。
getAlert_1({required BuildContext context,required String title, required String msg}){
return AwesomeDialog(
context: context,
title: title,
desc: msg,
dialogType: DialogType.INFO
)..show();
}
getAlert_2({required BuildContext context,required String title, required String msg}){
return AwesomeDialog(
context: context,
title: title,
desc: msg
dialogType: DialogType.SUCCES
)..show();
}
getAlert_2({required BuildContext context,required String title, required String msg}){
return AwesomeDialog(
context: context,
title: title,
desc: msg,
dialogType: DialogType.WARNING
)..show();
}
我想重构下面的代码。
context: context,
title: title,
desc: msg,
请教我怎么做。
创建一个包含 class 的文件,该文件将具有 returns 自定义小部件的功能,您可以在整个项目中重复使用。
创建一个名为 customAwesomeDialog.dart.
的文件在文件中,创建如下:
import 'package:flutter/material.dart';
class CustomAwesomeDialog {
CustomAwesomeDialog();
generateDialog(BuildContext context, String title, String description) {
return AwesomeDialog(
context: context,
title: title,
desc: description
dialogType: DialogType.SUCCES
)..show();
}
}
现在转到要调用此小部件的任何 class 文件。 导入上面的class.
import ‘customAwesomeDialog.dart’;
实例化 class
CustomAwesomeDialog cDialog = CustomAwesomeDialog();
然后在class
内使用
cDialog.generateDialog(context, “Success”, “You have made it”);