Es demasiado claro, enserio, te lo agradezco de todo corazón, muchas gracias por este vídeo tan bien explicado y bien estructurado, definitivamente magnífico
Nunca comento un video, pero debo expresar mi agradecimiento por tan buen contenido. Este video y el de los observables han sido las explicaciones mas claras y fáciles de entender que he encontrado. Muchas gracias ⭐
Compré un curso en Udemy del mismo valor con +12 horas de contenido, o más bien de relleno, porque en esta serie de videos más cortos me has aportado más que todo ese curso entero. Mil gracias de verdad por traernos este contenido de tan alta calidad. Estaré super pendiente del canal. ¡Saludos!
Muy buen video y explicación. Felicitaciones. Más allá de la calidad del video, yo con mis 20 años programando, sigo sin entender cómo todo esto lo encuentran más útil y más fácil que la programación, digamos, más "tradicional" o "stateless". Sigo convencido que todo esto son "vendidas de pomada" de las generaciones nuevas de programadores. Funciona? Si... funciona. Conviene? No veo por dónde... 🙄
Estoy de acuerdo en que muchas veces este tipo de librerías se usan innecesariamente por puro _hype_ , añadiendo complejidad a la aplicación sin realmente sacar ningún beneficio palpable. Pero como digo en el video, estas librerías están pensadas para unos casos muy específicos. Y ahí sí que son realmente útiles. un saludo y gracias por tu comentario
Hablo por todos, cuando digo que es necesario más contendio acerca de ngrx, no existe un contenido tan top como el tuyo, apiadate de nosotros los juniors y lanza más contenido :')
pregunta, estoy viendo que en tu codigo si sale el state como todosState, pero por alguna razon en el mio salia solamente como todos, entonces usar el nombre todosState me fallaba, podrías darme una idea de donde se setea el nombre del state para ver por que el mio viene como todos solamente?
No se si he entendido bien tu pregunta, pero creo que te refieres al nombre de la característica dentro de la store. Ese se lo estamos dando en primera instancia al configurarlo en el método forRoot del StoreModule (min. 19:02). Refactorizándolo a continuación para que se incluya al incluir la característica, dándole ese nombre en el forFeature del modulo de Todos (min. 19:23) un saludo y gracias por tu comentario. PD: Si no era esta tu duda, no dudes en repreguntar 😉
Uff... así a bote tendrías que implementar alguna solución que vaya guardando el estado en el storage del navegador con cada acción (o con efectos o con metareducers) y luego al entrar en la aplicación de disparar alguna acción inicial para rehidratar el estado desde el storage. Y supongo que también tendrías que implementar alguna solución para ir invalidando y limpiando las partes del estado que vayan "caducando". Si finalmente te pones a ello, te recomendaría que lo hicieras únicamente con partes muy especificas y estables del estado. Si no te va a dar bastantes dolores de cabeza. un saludo
Que tal, primero una felicitación por tu contenido, gracias. Segundo, si quiero implementar esta lógica, en una app donde tenga varios eventos, por ejemplo, varios catálogos que tienen su funciones básicas (crear, modifica eliminar y listar) y además realizo operaciones en un módulo principal, por ejemplo para crear reportes, crear facturas, registrar pagos, etc. se debe implementar una acción, reductor, selector, por cada operación??? pero un sólo store central??? o cómo sería?
Si realmente necesitas o quieres centralizar el manejo del estado global de la aplicación, si solo hay una store y en principio tendrías que crear acciones para todos los eventos que afecten al estado que en ella vayas a guardar, junto con los reductores, selectores y efectos necesarios. Pero antes de ponerte a ello, te recomiendo que le eches un vistazo a la librería @ngrx/data(ngrx.io/guide/data), que te puede facilitar mucho el trabajo par alas operaciones CRUD. un saludo y muchas gracias por tu comentario 😉
No he tenido la oportunidad de trabajar mucho con ella, pero conocerla la conozco. El concepto general del NGXS es muy similar al de NgRx, con una store para almacenar el estado, el trato del estado como inmutable, flujo unidireccional con el despachado de acciones y consumo del estado en forma de observables usando selectores,... La mayor diferencia entre una y otra es el procedimiento a la hora de definir cada uno de los elementos. ¿Cuál de los dos es mejor? Pues dependerá de a quién le preguntes. En mi caso como te digo, no tengo mucha experiencia con NGXS, ya que las pocas veces que me ha tocado trabajar con una librería de estado global siempre ha sido con NgRx. Así que no te puedo dar una respuesta objetiva al respecto. Si tienes dudas de cual elegir para un proyecto personal, lo mejor que puedes hacer es probar ambas con una aplicación relativamente sencilla y ver con cual te sientes más cómodo. un saludo
como manejarías un objeto mas complejo en el estado?se afectan por referencia de objetos ? por ejemplo : usuario:{ datos_personales:{ xxxx }, padres:[ { nombre:"" padres:[{padres:...}] } ] } } }
Lo siento mauricio, no entiendo muy bien tu pregunta. Supongo que va referida a como manejar ese array de padres, pero me falta contexto. Por ejemplo esos padres solo tienen sentido dentro de un usuario o son entidades(tienen un id) que por si solas tienen un significado en la aplicación? Por ejemplo dos usuarios que sean hermanos, comparten esa misma entidad de padre, o cada uno tiene un objeto padre independiente aunque tengan la misma información? ... un saludo
todo perfecto, a mi me manda este error: Error: node_modules/@ngrx/store/src/provide_store.d.ts:1:10 - error TS2305: Module '"@angular/core"' has no exported member 'EnvironmentProviders'. 1 import { EnvironmentProviders, InjectionToken, Provider } from '@angular/core';
Es demasiado claro, enserio, te lo agradezco de todo corazón, muchas gracias por este vídeo tan bien explicado y bien estructurado, definitivamente magnífico
Gracias a ti por tus palabras. 😊
un saludo
No entiendo como este canal no tiene más suscriptores y más views, es el canal perfecto para quien esta aprendiendo y que no entiende el ingles.
Muchas gracias por tus palabras Jorge 😊.
Un saludo
Impresionante la calidad de este video. Si haces haces algun curso de pago sin duda pagaría
Bueno es saberlo. Muchas gracias por tu comentario 😉
un saludo
Increíble todo lo que uno aprende y excelente manera de mostrar la información 👏🏻
muchas gracias!😊
Nunca comento un video, pero debo expresar mi agradecimiento por tan buen contenido. Este video y el de los observables han sido las explicaciones mas claras y fáciles de entender que he encontrado. Muchas gracias ⭐
Muchísimas gracias a ti por tus palabras. Un placer haberte podido ayudar. 😊
un saludo
Impresionante explicación! Muchísimas gracias por compartir contenido dan tanta calidad! 💪
Muchísimas gracias Fernando!
un saludo
Excelente video. Gracias!
El control que te da REDUX es impresionante
Explicas extremadamente bien, felicitaciones y muchas gracias por compartir tu conocimiento
Muchísimas gracias! 😊
un saludo
De verdad, quede sorprendido de la calidad de este contenido… gracias 🎉
Gracias 😊!
Muy bien explicado. Yo lo uso en mis proyectos y es muy funcional
Genial como enseñas. Claro, preciso, y con animaciones excelentes, y ejercicios simples.
Muchísimas gracias 😊!
un saludo
Gracias por tomarse el tiempo de explicar muy bien y sin rodeos, me suscribo 👌
Se extrañaban tus videos. Muy bien explicados.
Muchas gracias por el contenido, explicas muy bien y de forma clara
Gracias a ti por tus palabras Mauricio!
un saludo
gracia spor hacer tus videos tan detallados !! son muy buenos
Muchas gracias 😁!
Este video es increíble, excelente contenido y explicación
Muchas gracias Guillermo!
un saludo
Si algún día haces un curso en Udemy o cualquier plataforma seré el primero en comprarlo. Muchas gracias por tu contenido.
Gracias a ti por tu comentario.
un saludo 😉
Claro como siempre
muy bueno, tnx!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!❤❤❤❤
¡Gracias!
Muchísimas gracias a ti por tu apoyo Enrique! 😊
un saludo
excelente video !
Muchas gracias!
Ya me suscribí 👍
Bienvenido, muchas gracias! 😁
Buenísimo!!! gracias
muchas gracias!
un saludo
Compré un curso en Udemy del mismo valor con +12 horas de contenido, o más bien de relleno, porque en esta serie de videos más cortos me has aportado más que todo ese curso entero. Mil gracias de verdad por traernos este contenido de tan alta calidad. Estaré super pendiente del canal. ¡Saludos!
Muchísimas gracias por tu apoyo Andres 😊!!
Un placer haberte podido ayudar.
un saludo
Qué PEDAZO de Video Gente... 🦾
Muchas gracias willy!
Un saludo
Me parecen genailes las animaciones con la explicación clara y precisa, espero el siguiente video pronto
Muy buen video y explicación. Felicitaciones.
Más allá de la calidad del video, yo con mis 20 años programando, sigo sin entender cómo todo esto lo encuentran más útil y más fácil que la programación, digamos, más "tradicional" o "stateless". Sigo convencido que todo esto son "vendidas de pomada" de las generaciones nuevas de programadores. Funciona? Si... funciona. Conviene? No veo por dónde... 🙄
Estoy de acuerdo en que muchas veces este tipo de librerías se usan innecesariamente por puro _hype_ , añadiendo complejidad a la aplicación sin realmente sacar ningún beneficio palpable. Pero como digo en el video, estas librerías están pensadas para unos casos muy específicos. Y ahí sí que son realmente útiles.
un saludo y gracias por tu comentario
Muchísimas gracias!! Te explicas super bien! ¿Para cuándo el próximo video?
Muchas gracias 😁!
Mi intención es tener listo el siguiente video para la próxima semana, pero dependerá del tiempo libre que tenga.
Un saludo
maestro 😌
😊
T E AMO
🤣
Hablo por todos, cuando digo que es necesario más contendio acerca de ngrx, no existe un contenido tan top como el tuyo, apiadate de nosotros los juniors y lanza más contenido :')
Tranquilo que tengo en mente hacer algunos más 😉
Un saludo y gracias por tu comentario
pregunta, estoy viendo que en tu codigo si sale el state como todosState, pero por alguna razon en el mio salia solamente como todos, entonces usar el nombre todosState me fallaba, podrías darme una idea de donde se setea el nombre del state para ver por que el mio viene como todos solamente?
No se si he entendido bien tu pregunta, pero creo que te refieres al nombre de la característica dentro de la store.
Ese se lo estamos dando en primera instancia al configurarlo en el método forRoot del StoreModule (min. 19:02). Refactorizándolo a continuación para que se incluya al incluir la característica, dándole ese nombre en el forFeature del modulo de Todos (min. 19:23)
un saludo y gracias por tu comentario.
PD: Si no era esta tu duda, no dudes en repreguntar 😉
si, justo era ese punto :) aunque como uso ahorita la versión sin modulos, no encontraba de donde viene, gracias@@akotech
como mantener el estado del redux si se recarga el navegador?
Uff... así a bote tendrías que implementar alguna solución que vaya guardando el estado en el storage del navegador con cada acción (o con efectos o con metareducers) y luego al entrar en la aplicación de disparar alguna acción inicial para rehidratar el estado desde el storage. Y supongo que también tendrías que implementar alguna solución para ir invalidando y limpiando las partes del estado que vayan "caducando".
Si finalmente te pones a ello, te recomendaría que lo hicieras únicamente con partes muy especificas y estables del estado. Si no te va a dar bastantes dolores de cabeza.
un saludo
Que tal, primero una felicitación por tu contenido, gracias. Segundo, si quiero implementar esta lógica, en una app donde tenga varios eventos, por ejemplo, varios catálogos que tienen su funciones básicas (crear, modifica eliminar y listar) y además realizo operaciones en un módulo principal, por ejemplo para crear reportes, crear facturas, registrar pagos, etc. se debe implementar una acción, reductor, selector, por cada operación??? pero un sólo store central??? o cómo sería?
Si realmente necesitas o quieres centralizar el manejo del estado global de la aplicación, si solo hay una store y en principio tendrías que crear acciones para todos los eventos que afecten al estado que en ella vayas a guardar, junto con los reductores, selectores y efectos necesarios. Pero antes de ponerte a ello, te recomiendo que le eches un vistazo a la librería @ngrx/data(ngrx.io/guide/data), que te puede facilitar mucho el trabajo par alas operaciones CRUD.
un saludo y muchas gracias por tu comentario 😉
dios mio
conoces NGXS ?? que opinas de esa alternativa?
No he tenido la oportunidad de trabajar mucho con ella, pero conocerla la conozco.
El concepto general del NGXS es muy similar al de NgRx, con una store para almacenar el estado, el trato del estado como inmutable, flujo unidireccional con el despachado de acciones y consumo del estado en forma de observables usando selectores,... La mayor diferencia entre una y otra es el procedimiento a la hora de definir cada uno de los elementos.
¿Cuál de los dos es mejor? Pues dependerá de a quién le preguntes. En mi caso como te digo, no tengo mucha experiencia con NGXS, ya que las pocas veces que me ha tocado trabajar con una librería de estado global siempre ha sido con NgRx. Así que no te puedo dar una respuesta objetiva al respecto.
Si tienes dudas de cual elegir para un proyecto personal, lo mejor que puedes hacer es probar ambas con una aplicación relativamente sencilla y ver con cual te sientes más cómodo.
un saludo
como manejarías un objeto mas complejo en el estado?se afectan por referencia de objetos ? por ejemplo :
usuario:{
datos_personales:{
xxxx
},
padres:[
{
nombre:""
padres:[{padres:...}]
}
]
}
}
}
Lo siento mauricio, no entiendo muy bien tu pregunta.
Supongo que va referida a como manejar ese array de padres, pero me falta contexto.
Por ejemplo esos padres solo tienen sentido dentro de un usuario o son entidades(tienen un id) que por si solas tienen un significado en la aplicación? Por ejemplo dos usuarios que sean hermanos, comparten esa misma entidad de padre, o cada uno tiene un objeto padre independiente aunque tengan la misma información?
...
un saludo
todo perfecto, a mi me manda este error: Error: node_modules/@ngrx/store/src/provide_store.d.ts:1:10 - error TS2305: Module '"@angular/core"' has no exported member 'EnvironmentProviders'.
1 import { EnvironmentProviders, InjectionToken, Provider } from '@angular/core';
Q versiones de angular y NgRx tienes instaladas? Porque por el error me da la sensación que tienes una versión de NgRx más reciente que la de angular.