informatica:programacion:javascript:react
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previa | |||
| informatica:programacion:javascript:react [2024/03/22 12:14] – [Gestión de estados] tempwin | informatica: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, | ||
| + | {...libro, stock: libro.stock - 1 } | ||
| + | ...libros.slice(i_libro + 1) | ||
| + | ]) | ||
| + | } | ||
| | | ||
| return ( | return ( | ||
| Línea 130: | Línea 140: | ||
| <div id=" | <div id=" | ||
| {libros.map(({id, | {libros.map(({id, | ||
| - | <Product key={id} {...libro} /> | + | <Product key={id} onPrestar={handlePrestar(id)} {...libro} /> |
| )} | )} | ||
| </ | </ | ||
informatica/programacion/javascript/react.1711106091.txt.gz · Última modificación: por tempwin
