-
Notifications
You must be signed in to change notification settings - Fork 48
Description
/// Original code
// create a new task
void createDialog() {
showDialog(
context: context,
builder: (context) {
return DefineDialog(
controller: _controller,
onSave: saveNewTask(), // Mistakes can be made in complex applications
onCancel: () => Navigator.of(context).pop(),
);
},
);
// save new task
void saveNewTask() {
setState(() {
db.tasks.insert(0, [_controller.text, false]);
_controller.clear();
});
Navigator.of(context).pop();
db.updateDatabase();
}
/// optimize
// create a new task
void createDialog() {
showDialog(
context: context,
builder: (context) {
return DefineDialog(
controller: _controller,
onSave: () => saveNewTask(context),
onCancel: () => Navigator.of(context).pop(),
);
},
);
// save new task
void saveNewTask(BuildContext context) {
setState(() {
db.tasks.insert(0, [_controller.text, false]);
_controller.clear();
});
Navigator.of(context).pop();
db.updateDatabase();
}