GetX
Links
Einleitung
GetX ist ein Flutter-Paket https://pub.dev/packages/get, das Zustandsmanagement und unkompliziertes Routing von Flutter-Apps erlaubt.
Zustandsmanagement
In Controllern werden Variablen als "zu überwachen" markiert. Widgets auf Seiten werden mit Werten dieser überwachten Variablen belegt.
Ändert sich der Wert einer überwachten Variablen, ändert sich automatisch jedes darauf Bezug nehmendes Widget automatisch. Dies wird intern mit Streams realisiert.
Unkompliziertes Routing
Es kann an jeder Stelle im Programm eine andere Seite aufgerufen werden, ohne dass der "Context" bekannt ist.
Anwendung
Controller
- Controller sind Klassen, die von GetxController abgeleitet sind.
- Überwachte Variablen werden mit .obs markiert.
- Zugriff auf Variable: myObsVar.value
- Widgets, die überwachte Variablen verwenden: mit
Obs( () => Widget(...))
kapseln. - Wenn Automatik nicht funktioniert: update() aufgerufen werden.
- Eine View-Klasse, die einen Controller hat:
class FileSelectView extends GetView<FileSelectController> {
...
}
- Sind mehrere Controller beteiligt, werden diese mit
Get.put()
und mitfinal c = Get.find()
geholt:
class HomeScreen extends StatelessWidget {
final TodoController todoController = Get.put(TodoController());
...
}