From 5c6d6bc46e82965be1d08dfa943d397259ad86f2 Mon Sep 17 00:00:00 2001 From: Nurfog Date: Tue, 8 Sep 2026 16:11:44 -0300 Subject: [PATCH] fix: snapshot estable en store del indice (evita re-renders infinitos) --- src/app/page.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index d70bc84..e34994d 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -15,6 +15,10 @@ import { let cache: ApiResponse | null = null; let loadError: string | null = null; let started = false; +let snap: { data: ApiResponse | null; error: string | null } = { + data: null, + error: null, +}; const listeners = new Set<() => void>(); function notify() { @@ -30,6 +34,10 @@ async function load() { } catch (e) { loadError = e instanceof Error ? e.message : "Error al cargar módulos"; } + // Referencia estable: solo cambia si cambian los datos (evita loops) + if (snap.data !== cache || snap.error !== loadError) { + snap = { data: cache, error: loadError }; + } notify(); } @@ -46,7 +54,7 @@ function subscribe(cb: () => void) { } function snapshot(): { data: ApiResponse | null; error: string | null } { - return { data: cache, error: loadError }; + return snap; } export default function Home() {