From 445a33152cb69837393f82f3f24068ed13f8934e Mon Sep 17 00:00:00 2001 From: Jonas Franz Date: Sun, 23 Jan 2022 18:05:44 +0100 Subject: [PATCH] Add inheriuted --- chapters/basics/state-management.tex | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/chapters/basics/state-management.tex b/chapters/basics/state-management.tex index 24910da..1d6afa5 100644 --- a/chapters/basics/state-management.tex +++ b/chapters/basics/state-management.tex @@ -42,4 +42,6 @@ Wie vorausgehend beschrieben, muss ein Zustandsverwaltungssystem aber nicht nur Anschaulich lässt sich dies durch das Beispiel \autoref{fig:flutterTreeSetState} darstellen, welches eine Anwendung, die global speichern muss, welche Person aktuell angemeldet ist, zeigt. Da diese Information in diesem Beispiel an diversen Stellen innerhalb der Anwendung benötigt wird, macht es Sinn, diese Information weit oben im Baum in Form eines \texttt{StatefulWidget} namens \texttt{LoginStateWidget} zu speichern, da der Datenfluss innerhalb des Baums ausschließlich unidirektional von oben nach unten stattfindet. Um diese Information nun an die Widgets zu kommunizieren, die es benötigen - in diesem Fall \texttt{InformationConsumer} - muss \texttt{LoginStateWidget} die Information per Konstruktor an das nachgelagerte Widget weitergeben. Diese nachgelagerten Widgets (\texttt{A, B, C}) müssen dies ebenfalls tun, bis die Information am Ziel \texttt{InformationConsumer} angekommen ist. Diese Anwendungsmuster wird in der Literatur als \blockquote[{\cite[Kap.8.2]{flutterinaction}}]{lifting state up} bezeichnet. - \subsubsection{InheritedWidget} \ No newline at end of file + \subsubsection{InheritedWidget} + +Neben der Möglichkeit, den Zustand über den Widget-Baum nach unten weiter zu propagieren, bietet Flutter noch das Konzept \texttt{InheritedWidget} an. Diese Widgets bilden eine eigene Widget-Gruppe und sind weder den \texttt{StatefulWidgets} noch den \texttt{StatelessWidgets} zuzuordnen. \ No newline at end of file