State
Auch bekannt als: Zustand, App-State
Wie die Welt einer Anwendung gerade aussieht. Wer eingeloggt ist, was im Warenkorb liegt, welcher Filter aktiv ist. State lebt an drei Orten gleichzeitig (Browser, Server, Datenbank). Bugs entstehen, wenn die drei auseinanderlaufen.
State (deutsch: Zustand) ist ein abstraktes Wort für eine konkrete Frage: Wie sieht die App gerade aus? Wer ist eingeloggt. Was liegt im Warenkorb. Welcher Filter ist aktiv. Ob das Formular schon abgesendet wurde.
Die drei Orte
Browser (Client-State): Nur für diesen Nutzer, in diesem Tab, jetzt. Beispiel: halb ausgefülltes Formular, Scroll-Position, aktiver Filter. Geht beim Reload meist verloren, und das darf so sein.
Server (Server-State): Pro Sitzung, pro aktiver Nutzer. Beispiel: Login-Session, Cache, Zwischenergebnisse einer Berechnung.
Datenbank (Persistent State): Für alle Nutzer, dauerhaft. Beispiel: Kontodaten, abgesendete Antworten, Relationen. Bleibt über Reloads, neue Geräte, neue Nutzer hinweg.
Die Kernregel
Was nicht verloren gehen darf, gehört in die Datenbank. Alles andere ist Komfort: Es hilft der Oberfläche, schnell zu reagieren, aber es ist niemals die Wahrheit. Der einfachste Test: Stell dir vor, der Nutzer schließt den Tab. Was darf weg sein, was nicht?
Warum Bugs hier entstehen
Wenn der Browser denkt, du bist eingeloggt, der Server aber denkt, deine Session ist abgelaufen, und die Datenbank deinen Account gesperrt hat: drei verschiedene Wahrheiten, die App verhält sich seltsam. Saubere State-Entscheidungen pro Information verhindern das.