En los videos se utiliza form.reset() pero eso no limpia los input[type=hidden]
Efectivamente hay un error en el video cuando construimos una aplicación con Vanilla JavaScript. En el ejemplo solamente utilizo form.reset()
pero como bien lo resaltó Nery en la sesión en vivo, esto no limpia los <input type="hidden" />
.
Para ver un ejemplo del error que mencionamos pueden ver el código del video aquí: https://github.com/laserants/bootcamp-js-2021/blob/6491906a0e0da48891c983b90d551b186300aae7/index.js#L78, y una posible solución es asignando un valor vacío a los campos ocultos despues de hacer el reset del form, por ejemplo: https://jsfiddle.net/miguelerm/54s8u9yf/
Básicamente la razon es que cuando a los input hidden
les cambiamos el .value
programáticamente, también modifican internamente su default value
por lo que al hacer el reset asignan ese default value
previamente modificado.
Del lado del backend con NodeJS y Express, Kyle tiene una serie de videos implementando JWT que creo que explican de forma fácil de comprender:
- JWT Authentication Tutorial - Node.js: https://youtu.be/mbsmsi7l3r4
- What Is JWT and Why Should You Use JWT: https://youtu.be/7Q17ubqLfaM
Del lado del frontend te puedo recomendar este artículo, cubre bastante bien los aspectos a tomar en cuenta al implementar JWT del lado del cliente y recomendaciones a la hora de persistir el token en el browser:
Para comprender una idea básica de paginación del lado del server, podrías revisar este video en donde lo implementan de una forma bastante sencilla:
- Create A Paginated API With Node.js - Complete Tutorial: https://youtu.be/ZX3qt0UWifc
Ahora si quieres desarrollar una API un poco más compleja que te permita hacer sorting
, filtering
, pagination
de forma dinámica, podrías echarle un ojo a este artículo, en este utilizan una combinacion de Knex.js y QueryQL para lograr hacer una API bastante robusta que soporte todas estas features:
Estos son unos recursos que compartieron otros participantes y creo que son una excelente opción:
El inconveniente de manejar cantidades monetarias en JavaScript es la forma en la que el motor maneja los decimales de las variables tipo number
, pero hay algunas alternativas que discutimos en la sesión en vivo y para ilustrarlas mejor realicé este ejemplo: https://jsfiddle.net/miguelerm/7xoq382e/ básicamente mi recomendación sería que utilizaras la primera alternativa, que es, usar una combinación de la clase Number
y la función .toFixed(2)
para obtener resultados precisos.
Adicionalmente me gustaría compartirte este artículo que ilustra muy bien el problema (y agrega mas cosas que podríamos tomar en cuenta al momento de trabajar con valores monetarios) y brinda algunas librerías que se podrían utilizar para manejar estos escenarios: https://frontstuff.io/how-to-handle-monetary-values-in-javascript
Platicamos un poco de Solid, y que yo en lo personal no recuerdo haber leído o visto material que trate Solid específicamente con JavaScript aparte del artículo de Fernando: https://laserants.com/principios-solid-en-javascript-como-implementarlo/
Adicionalmente les recomendaba otros libros que, si bien no tocan el tema explícitamente, lo tratan de forma implícita:
- Clean Code: https://www.goodreads.com/book/show/3735293-clean-code
- The Clean Coder: https://www.goodreads.com/book/show/10284614-the-clean-coder
- The Pragmatic Programmer: https://www.goodreads.com/book/show/4099.The_Pragmatic_Programmer
- Refactoring: https://www.goodreads.com/book/show/44936.Refactoring
- Code Complete: https://www.goodreads.com/book/show/4845.Code_Complete