GetX

Aus Info-Theke
Zur Navigation springen Zur Suche springen

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 mit final c = Get.find() geholt:
class HomeScreen extends StatelessWidget {
  final TodoController todoController = Get.put(TodoController());
...
}