fix: useIssues recargaba en bucle por depender del objeto de filtros

This commit is contained in:
Nurfog committed 2026-10-14 14:19:27 -03:00
1 parent 8f33add874
commit de163681c2
1 file changed
+9 -2
+9 -2
View File
@@ -18,19 +18,26 @@ export function useIssues(filters?: IssueFilters, refreshKey = 0) {
const filtersKey = JSON.stringify(filters ?? {});
// OJO: depender solo del string serializado. `filters` es un objeto
// nuevo en cada render (se crea inline en cada página); si entrara en
// las dependencias, `load` cambiaría siempre y el efecto recargaría en
// bucle, parpadeando la lista.
const load = useCallback(async () => {
setLoading(true);
setError(null);
try {
const result = await api.listIssues(filters ? JSON.parse(filtersKey) : undefined);
const parsed = JSON.parse(filtersKey) as IssueFilters | undefined;
const result = await api.listIssues(
parsed && Object.keys(parsed).length > 0 ? parsed : undefined,
);
setIssues(result);
} catch (err) {
setError(err instanceof Error ? err.message : "Error cargando issues");
} finally {
setLoading(false);
}
}, [filtersKey, filters]);
}, [filtersKey]);
useEffect(() => {
void load();