feat: Migration von zoomTriggerSlice von Recoil zu Redux Toolkit

- Ersetzung des Recoil Atoms 'zoomTriggerState' durch Redux Toolkit Slice.
- Hinzugefügt: Aktionen für incrementZoomTrigger, decrementZoomTrigger, resetZoomTrigger und setZoomTrigger.
- Implementierung von Redux-Selektoren zum Zugriff auf den zoomTrigger-Zustand.
- Aktualisierung der Komponenten (MapComponent.js, DataSheet.js) auf Redux-Hooks (useSelector, useDispatch).
- Registrierung des zoomTriggerReducers im rootReducer und store.js.
- Überprüfung der Zoom In/Out-Funktionalität sowie Integration von Event-Handling für Mausrad und Kontextmenü.
This commit is contained in:
ISA
2024-12-23 10:51:24 +01:00
parent 1678cd162f
commit 99c430777c
4 changed files with 32 additions and 11 deletions

View File

@@ -2,10 +2,12 @@
import { combineReducers } from "redux";
import currentPoiReducer from "./slices/currentPoiSlice";
import gisStationsStaticDistrictReducer from "./slices/gisStationsStaticDistrictSlice";
import zoomTriggerReducer from "./slices/zoomTriggerSlice";
const rootReducer = combineReducers({
currentPoi: currentPoiReducer,
gisStationsStaticDistrict: gisStationsStaticDistrictReducer,
zoomTrigger: zoomTriggerReducer,
});
export default rootReducer;

View File

@@ -1,7 +1,23 @@
// redux/slices/zoomTriggerSlice.js
import { atom } from "recoil";
import { createSlice } from "@reduxjs/toolkit";
export const zoomTriggerState = atom({
key: "zoomTriggerState",
default: 0, // Dies kann eine einfache Zählvariable sein, die inkrementiert wird.
const initialState = {
zoomTrigger: 0,
};
const zoomTriggerSlice = createSlice({
name: "zoomTrigger",
initialState,
reducers: {
incrementZoomTrigger(state) {
state.zoomTrigger += 1; // Zustand erhöhen
},
resetZoomTrigger(state) {
state.zoomTrigger = 0; // Zustand zurücksetzen
},
},
});
export const { incrementZoomTrigger, resetZoomTrigger } = zoomTriggerSlice.actions;
export const selectZoomTrigger = (state) => state.zoomTrigger.zoomTrigger;
export default zoomTriggerSlice.reducer;