Debajo del código, actualizo el gancho de reacción con la condición abreviada if-else. Para entender exactamente esto, trato de escribirlo en condiciones normales de if-else, pero no pude. ¿Cuál es el caso igual de estas condiciones abreviadas?
Este es un código de trabajo.
const [array, setArray] = useState([]); function addProduct(product){ const ProductExist = array.find((item) => item.id === product.id); setArray( array.map((item) => item.id === product.id ? { ...ProductExist, quantity: ProductExist.quantity + 1 } : item ) ); }Este es mi intento de acuerdo con las soluciones de otros temas. Pero da error.
setTestArray(array.map((item) => { return if(item.id === product.id){ return { ...ProductExist, quantity: ProductExist.quantity + 1 } }else{ return item } } setArray( array.map((item) => if(item.id === product.id){ return { ...ProductExist, quantity: ProductExist.quantity + 1 }; } else { return item; } )Tienes una vuelta extra
Debería ser así:
setTestArray(array.map((item) => { if(item.id === product.id){ return { ...ProductExist, quantity: ProductExist.quantity + 1 } }else{ return item } }))