- Recoil Atom für urlParameterSlice entfernt und durch Redux-Toolkit Slice ersetzt. - Neue Actions `setMapId` und `setUserId` hinzugefügt, um Parameter zu aktualisieren. - Selektoren `selectMapId` und `selectUserId` erstellt, um Parameter aus dem Zustand zu lesen. - Standardwerte für `mapId` und `userId` entfernt; stattdessen Werte aus der URL geladen. - Fehlermeldung hinzugefügt, wenn erforderliche URL-Parameter fehlen. - Zustand wird jetzt dynamisch beim Laden der Seite über die URL gesetzt.
33 lines
843 B
JavaScript
33 lines
843 B
JavaScript
// /redux/slices/urlParameterSlice.js
|
|
import { createSlice } from "@reduxjs/toolkit";
|
|
|
|
// Initialer Zustand
|
|
const initialState = {
|
|
mapId: "", // Standardwert z.B m=12
|
|
userId: "", // Standardwert z.B. u=484
|
|
};
|
|
|
|
// Slice erstellen
|
|
const urlParameterSlice = createSlice({
|
|
name: "urlParameter",
|
|
initialState,
|
|
reducers: {
|
|
setMapId(state, action) {
|
|
state.mapId = action.payload; // Aktualisiere mapId
|
|
},
|
|
setUserId(state, action) {
|
|
state.userId = action.payload; // Aktualisiere userId
|
|
},
|
|
},
|
|
});
|
|
|
|
// Aktionen exportieren
|
|
export const { setMapId, setUserId } = urlParameterSlice.actions;
|
|
|
|
// Selektoren exportieren
|
|
export const selectMapId = (state) => state.urlParameter.mapId;
|
|
export const selectUserId = (state) => state.urlParameter.userId;
|
|
|
|
// Reducer exportieren
|
|
export default urlParameterSlice.reducer;
|