Sämtliche Daten und Informationen werden in V2-Kacheln (React/Redux) in einem State gehalten. Ändern sich die Werte eines States, werden alle Oberflächenkomponenten, die an diese Werte gebunden sind, automatisch neu gerendert / aktualisiert. Im V2-Kachelumfeld unterscheiden wir dabei zwischen 3 verschiedenen States, die sich in der der Dauer und Ort der Persistenz ihrer Daten unterscheiden.
Runtime-State
-
Ist der "kurzlebigste" der 3 States und dient nur zur Ablage von flüchtigen Laufzeitinformationen.
-
Aktualisiert man die Kachel oder führt einen Refresh im WebClient durch, sind diese Informationen wieder verloren.
Session-State
-
Informationen, die in diesem State abgelegt werden, bleiben über die aktuelle Session hin erhalten.
-
Sie "überleben" somit ein Aktualisieren der Kachel, sowie einen Refresh des WebClients.
Database-State
-
Informationen, die über eine Neuanmeldung und somit über die Session hinaus erhalten bleiben sollen, sollten im Database-State abgelegt werden.
-
Bei Änderungen am State, wird dieser automatisch in die Datenbank persistiert und nach beim Laden der Kachel nach einer Neuanmeldung automatisch aus selbiger wiederhergestellt.
Übersteuerbarkeit der States
-
Die States können in höheren Schichten lediglich um neue Eigenschaften erweitert werden!
-
Damit es dabei nicht zu Namenskonflikten kommt, werden die Einträge aus tieferen Schichten an den Verwendungsstellen mit einem Prefix versehen.
-
So wird aus einer definierten Eigenschaft
entriesin C0 an der Aufrufstellen einc0entries. Das trifft nicht auf Props aus der C2-Schicht zu!
-