Files
CPLv4.0/redux/thunks/fetchAnalogeEingaengeThunk.ts
ISA 25b63e3a31 feat: Redux-Thunk für analoge Eingänge integriert & useFetchAnalogeEingaenge entfernt
- `fetchAnalogeEingaengeThunk` in `AnalogeEingaengeTable.tsx` verwendet, um API-Daten in Redux zu speichern.
- `useFetchAnalogeEingaenge` entfernt, um doppelte API-Aufrufe zu vermeiden.
- Sicherstellung, dass Redux-Thunk nur im Client (`useEffect`) ausgeführt wird.
- Automatische Aktualisierung der API-Daten alle 10 Sekunden über Redux-Thunk.
- Code-Optimierungen für eine stabilere Client-Side-Architektur mit Next.js.

 Jetzt läuft Redux-Thunk stabil & effizient in der Next.js-Anwendung!
2025-03-19 14:48:19 +01:00

23 lines
825 B
TypeScript

// /redux/thunks/fetchAnalogeEingaengeThunk.ts
import { createAsyncThunk } from "@reduxjs/toolkit";
import { fetchAnalogeEingaenge } from "../../services/fetchAnalogeEingaenge";
import { setAnalogeEingaenge } from "../slices/analogeEingaengeSlice";
/**
* Holt die analogen Eingänge von der API und speichert sie in Redux.
*/
export const fetchAnalogeEingaengeThunk = createAsyncThunk(
"analogeEingaenge/fetchAnalogeEingaenge",
async (_, { dispatch }) => {
if (typeof window === "undefined") return; // Server-Side Execution blockieren
try {
const data = await fetchAnalogeEingaenge();
if (data) {
dispatch(setAnalogeEingaenge(data)); // ✅ Redux mit API-Daten füllen
}
} catch (error) {
console.error("❌ Fehler beim Laden der analogen Eingänge:", error);
}
}
);