31 lines
864 B
JavaScript
31 lines
864 B
JavaScript
import { ADD_PRODUCT, REMOVE_PRODUCT } from '../actions/products';
|
|
|
|
export const rootReducer = (state, action) => {
|
|
|
|
console.log(`Action: ${JSON.stringify(action)}`)
|
|
|
|
switch (action.type) {
|
|
|
|
case ADD_PRODUCT:
|
|
// L'action est de type ADD_PRODUCT
|
|
// On ajoute le produit dans la liste et
|
|
// on retourne un nouvel état modifié
|
|
return {
|
|
products: [...state.products, action.product]
|
|
}
|
|
|
|
|
|
case REMOVE_PRODUCT:
|
|
// L'action est de type REMOVE_PRODUCT
|
|
// On filtre la liste des produits et on
|
|
// retourne un nouvel état modifié
|
|
return {
|
|
products: state.products.filter(p => p.name !== action.productName)
|
|
}
|
|
}
|
|
|
|
// Si l'action n'est pas gérée, on retourne l'état
|
|
// sans le modifier
|
|
return state
|
|
|
|
} |