Herramientas de usuario

Herramientas del sitio


informatica:programacion:javascript:react

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
informatica:programacion:javascript:react [2024/03/22 12:14] – [Gestión de estados] tempwininformatica:programacion:javascript:react [2024/03/22 12:19] (actual) – [Gestión de estados] tempwin
Línea 124: Línea 124:
 export default function Index() { export default function Index() {
   const [libros, setLibros] = useState(DB.libros)   const [libros, setLibros] = useState(DB.libros)
 +  
 +  const handlePrestar = (id) => () => {
 +    const i_libro = libros.findIndex(l => l.id === id)
 +    const libro = libros[i_libro]
 +    setLibros([
 +      ...libros.slice(0, i_libro),
 +      {...libro, stock: libro.stock - 1 }
 +      ...libros.slice(i_libro + 1)
 +    ])
 +  }
      
   return (   return (
Línea 130: Línea 140:
       <div id="gallery">       <div id="gallery">
         {libros.map(({id, ...libro}) =>          {libros.map(({id, ...libro}) => 
-          <Product key={id} {...libro} />+          <Product key={id} onPrestar={handlePrestar(id)} {...libro} />
           )}           )}
        </div>        </div>
informatica/programacion/javascript/react.1711106091.txt.gz · Última modificación: por tempwin