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!
This commit is contained in:
22
redux/thunks/fetchAnalogeEingaengeThunk.ts
Normal file
22
redux/thunks/fetchAnalogeEingaengeThunk.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
// /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);
|
||||
}
|
||||
}
|
||||
);
|
||||
Reference in New Issue
Block a user