Kachel-State
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
entries
in C0 an der Aufrufstellen einc0entries
. Das trifft nicht auf Props aus der C2-Schicht zu!