Sie können die Codes direkt dort überprüfen
Code: Select all
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
const initialState: BasketState = {
items: [],
};
export const basketSlice = createSlice({
name: "basket",
initialState,
reducers: {
addToBasket: (
state,
action: PayloadAction
) => {
console.log("ACTION: ", action.payload);
const existingItem = state.items.find(
(item) => item.id === action.payload.id
);
console.log("EXISTING ITEM: ", existingItem);
if (existingItem) {
existingItem.quantity += 1;
} else {
state.items.push({ ...action.payload, quantity: 1 });
}
console.log("STATE: ", state.items);
},
removeFromBasket: (state, action: PayloadAction) => {
state.items = state.items.filter((item) => item.id !== action.payload);
},
updateQuantity: (
state,
action: PayloadAction
) => {
const item = state.items.find((item) => item.id === action.payload.id);
if (item) {
item.quantity = action.payload.quantity;
}
},
},
});
export const { addToBasket, removeFromBasket, updateQuantity } =
basketSlice.actions;
export default basketSlice.reducer;
Strangely, even if I add initial state, it does not show it in the log
I am open to all kinds of ideas :/