44
loading...
This website collects cookies to deliver better user experience
This article elaborates one of the Redux best practices. This best practice has helped me a ton in writing better code and avoiding problems. Many thanks to the Redux team!
const orderSlice = createSlice({
name: "order",
initialState: { pizzaOrdered: 0, cokeOrdered: 0 },
reducers: { // (1) Reducer logic
setPizzaOrdered: (state, action) => {
state.pizzaOrdered = action.payload;
},
setCokeOrdered: (state, action) => {
state.cokeOrdered = action.payload;
}
}
});
const {
actions: { setPizzaOrdered, setCokeOrdered }, // (2) Action creators
reducer: orderReducer
} = orderSlice;
const sendOrder = () => { // (3) Send Order event handler
dispatch(setPizzaOrdered(pizza));
dispatch(setCokeOrdered(coke));
};
Play around with code here.
const orderSlice = createSlice({
name: "order",
initialState: { pizzaOrdered: 0, cokeOrdered: 0 },
reducers: { // (5) Reducer logic
orderPlaced: (state, action) => {
state.pizzaOrdered = action.payload.pizza;
state.cokeOrdered = action.payload.coke;
}
}
});
const {
actions: { orderPlaced }, // (6) Action creator
reducer: orderReducer
} = orderSlice;
const sendOrder = () => { // (7) Send Order event handler
dispatch(orderPlaced({pizza, coke}));
};