informatica:programacion:javascript:react
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| informatica:programacion:javascript:react [2024/03/22 12:10] – [Gestión de eventos] tempwin | informatica:programacion:javascript:react [2024/03/22 12:19] (actual) – [Gestión de estados] tempwin | ||
|---|---|---|---|
| Línea 119: | Línea 119: | ||
| <code javascript> | <code javascript> | ||
| import {useState} from " | import {useState} from " | ||
| + | import {DB} from " | ||
| + | import Product from " | ||
| export default function Index() { | export default function Index() { | ||
| - | const [libros, setLibros] = useState() | + | 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, | ||
| + | {...libro, stock: libro.stock - 1 } | ||
| + | ...libros.slice(i_libro + 1) | ||
| + | ]) | ||
| + | } | ||
| | | ||
| return ( | return ( | ||
| <> | <> | ||
| + | <p className=" | ||
| + | <div id=" | ||
| + | {libros.map(({id, | ||
| + | <Product key={id} onPrestar={handlePrestar(id)} {...libro} /> | ||
| + | )} | ||
| + | </ | ||
| </> | </> | ||
| ) | ) | ||
informatica/programacion/javascript/react.1711105841.txt.gz · Última modificación: por tempwin
