Entwurfsmuster · Middle · Frage 6 von 75
Was ist an einem Singleton auf Modulebene (export const cache = new Map()) in einer SSR-App gefährlich?
- 1SSR unterstützt keine ES-Module, solcher Code lässt sich nicht bauen
- 2Auf dem Server teilen alle Anfragen das Modul, Nutzerdaten vermischen sich
- 3Beim SSR werden Module nicht gecacht, das Singleton entsteht bei jedem Import neu
Antwort zeigen
Richtige Antwort: Auf dem Server teilen alle Anfragen das Modul, Nutzerdaten vermischen sich
Erklärung
Im Browser lebt eine Modulvariable innerhalb eines Tabs. Ein Serverprozess bedient Tausende Nutzer, und ein geteilter Cache oder Store auf Modulebene kann die Daten eines Nutzers einem anderen ausliefern. Anfragezustand wird pro Anfrage erzeugt (z. B. React cache(), ein QueryClient pro Anfrage).