- Recoil Atom 'selectedPoiState' entfernt und durch Redux-Toolkit Slice ersetzt. - Redux Actions hinzugefügt: setSelectedPoi, clearSelectedPoi. - Selektor 'selectSelectedPoi' erstellt, um POI-Daten zu lesen. - Komponenten angepasst (PoiUpdateModal, PoiUpdateModalWrapper, MapComponent), um Redux-Hooks zu verwenden. - Reducer in rootReducer und store.js registriert. - Funktionalität getestet und Fehlerbehebung implementiert.
32 lines
860 B
JavaScript
32 lines
860 B
JavaScript
// redux/slices/selectedPoiSlice.js
|
|
//Ist gedacht um ausgewählte Poi Informationen zu speichern und zu PoiUpdateModal.js zu übergeben
|
|
import { createSlice } from "@reduxjs/toolkit";
|
|
|
|
// Initialer Zustand
|
|
const initialState = {
|
|
selectedPoi: null,
|
|
};
|
|
|
|
// Slice erstellen
|
|
const selectedPoiSlice = createSlice({
|
|
name: "selectedPoi",
|
|
initialState,
|
|
reducers: {
|
|
setSelectedPoi(state, action) {
|
|
state.selectedPoi = action.payload; // Setzt den ausgewählten POI
|
|
},
|
|
clearSelectedPoi(state) {
|
|
state.selectedPoi = null; // Löscht den ausgewählten POI
|
|
},
|
|
},
|
|
});
|
|
|
|
// Aktionen exportieren
|
|
export const { setSelectedPoi, clearSelectedPoi } = selectedPoiSlice.actions;
|
|
|
|
// Selektor exportieren
|
|
export const selectSelectedPoi = (state) => state.selectedPoi.selectedPoi;
|
|
|
|
// Reducer exportieren
|
|
export default selectedPoiSlice.reducer;
|