En la imagen dice que se espera que tenga ";", ¿alguien puede explicarlo?
import React, {useReducer} from 'react'; import CartContext from './cart-context'; const defaultCartState = { items : [], totalAmount : 0 }; const cartReducer = (state, action) = { if (action.type === 'ADD') { const updatedItems = state.items.concat(item); const updatedTotalAmount = state.totalAmount + action.item.price * action.item.amount; return { items : updatedItems, totalAmount : updatedTotalAmount }; } return defaultCartState; } const CartProvider = (props) => { const [cartState, dispatchCartState] = useReducer(cartReducer, defaultCartState); const adder = (item) =>{ dispatchCartState({type : 'ADD', item : item}) }; const remover = (id) => { dispatchCartState({type : 'REMOVE', id : id}) }; const cartContext = { item: [], totalAmount : 0, addItem : adder, removeItem : remover } return ( <CartContext.Provider value={cartContext}> {props.children} </CartContext.Provider> ); } export default CartProvider;
No sé lo que dice el código. Se ha adjuntado una imagen.
Está utilizando la función de flecha de forma incorrecta
Actualice su función cartReducer
de esta manera
const cartReducer = (state, action) => { if (action.type === 'ADD') { const updatedItems = state.items.concat(item); const updatedTotalAmount = state.totalAmount + action.item.price * action.item.amount; return { items : updatedItems, totalAmount : updatedTotalAmount }; }