- `fetchDigitaleEingaengeThunk.ts` erstellt, um digitale Eingänge in Redux zu speichern.
- `fetchDigitaleEingaenge.ts` erstellt, um API-Daten aus `de.js` zu laden.
- `digitalInputsSlice.ts` hinzugefügt, um digitale Eingänge in Redux zu verwalten.
- `DigitalInputs.tsx` überarbeitet: Zwei Tabellen für digitale Eingänge hinzugefügt.
- Sicherstellung, dass Redux-Thunk nur im Client (`useEffect`) ausgeführt wird.
- API-Calls werden nun alle 10 Sekunden aktualisiert.
✅ Jetzt läuft Redux-Thunk stabil & effizient für digitale Eingänge!
23 lines
719 B
TypeScript
23 lines
719 B
TypeScript
import { createAsyncThunk } from "@reduxjs/toolkit";
|
|
import { fetchDigitaleEingaenge } from "../../services/fetchDigitaleEingaenge";
|
|
import { setInputs } from "../slices/digitalInputsSlice";
|
|
|
|
/**
|
|
* Holt digitale Eingänge von der API und speichert sie in Redux.
|
|
*/
|
|
export const fetchDigitaleEingaengeThunk = createAsyncThunk(
|
|
"digitalInputs/fetchDigitaleEingaenge",
|
|
async (_, { dispatch }) => {
|
|
if (typeof window === "undefined") return;
|
|
|
|
try {
|
|
const data = await fetchDigitaleEingaenge();
|
|
if (data) {
|
|
dispatch(setInputs(data)); // ✅ Redux mit API-Daten füllen
|
|
}
|
|
} catch (error) {
|
|
console.error("❌ Fehler beim Laden der digitalen Eingänge:", error);
|
|
}
|
|
}
|
|
);
|