Wzorce projektowe · Middle · Pytanie 6 z 75
Co jest niebezpiecznego w singletonie na poziomie modułu (export const cache = new Map()) w aplikacji SSR?
- ✓Poprawna odpowiedź: Na serwerze moduł jest wspólny dla wszystkich żądań, więc dane użytkowników się mieszają
- 2Przy SSR moduły nie są cache'owane, więc singleton tworzy się przy każdym imporcie
- 3SSR nie obsługuje modułów ES, więc taki kod się nie zbuduje
Wyjaśnienie
W przeglądarce zmienna modułu żyje w obrębie jednej karty. Proces serwera obsługuje tysiące użytkowników, a wspólny cache lub store na poziomie modułu może podać dane jednego użytkownika innemu. Stan żądania tworzy się per żądanie (np. cache() z React, QueryClient na żądanie).