Tomé este video como base para intentarlo de la manera que usa RouterProvider para no solo copiar del video y aprender lo máximo , funciona de manera muy similar , muchas gracias por el curso es bastante útil , que conceptos tan importantes
UFFFFFFFFFF INCREIBLEE! A diferencia de muchos videos de react, hiciste un codigo totalmente profundo, no te quedaste en la superficie como la mayoria y encima lo haces de manera sencilla, muy facil de entender, estare mas atento de tu canal de Twitch
En mi trabajo me dedico a desarrollar en genera y quiero que abran un apartado de desarrollo con react para yo ser parte, me encargaron un proyecto y propuse utilizar React, con la informacion de este video y de todo el canal, estoy seguro de que puedo crear un proyecto impresionante para convencerlos de crear el area de desarrollo pero con react!, Gracias! cada vez mas cerca de mi sueño por personas como tu ❤
@@carlosandresgomezdaza9255 mal jajajaja no quisieron pero si las personas no cambian entonces cambia de personas, renuncie y en mi trabajo actual soy lider de proyecto con React y otro con Vue
Ufff que clase tan magistral !!! Muchas gracias por todo tu aporte a la comunidad. Soy desarrollador en Angular y estoy aprendiendo React !! Sigue adelante Alan !!! Dios te bendiga mucho 🙏🏻
Va excelente el vídeo , voy en orden y no sé si seré yo pero me perdí un poquito con lo de RTQ pero supongo que se explicará después en los próximos videos de la lista , gracias maestro por este cursito y el vídeo , los veo hasta el final y se valoran todos esos detalles que enseñas que me sirven un montón 😎👍
Siempre pon un Rol vacio como default y que se popule al hacer login, de esa manera puedes comprobar y saber que es un estado vacío y que todavía ni existe
Justo en mi trabajo , un programador con mas señority usa a eso del fallback y lazy loading no entendia porque ,ahora entiendo porque lo utilizaba y me queda claro 😁
excelente hrno es un videazo, recien estoy empenzando con react y pfff me mataste con esto, pero tengo una duda como puedo validar si en dashboard tengo diferentes menús y cada usuario los visualiza de acuerdo a su rol y a su vez a las acciones que le están permitidas?, espero me puedas responder
Alan ante todo Muchas gracias por distribuir tus conocimientos, quisiera saber/preguntarte: Has hecho server side rendering con react usando express? podrias dar un video detallado asi como acostumbras de un simple SSR aplicandolo a un proyecto comenzado con create-react-app . Gracias nuevamente. Se que existe Next pero a veces tenemos proyectos en React en donde debemos aplicarle SSR y me jode ver videos que no sean detallados o entendibles de como hacerlo tras ya tener tu webapp con create-react-app
todavía no le he metido caña a SSR, pero seguramente lo haga y de la mano con Next.Js ya que está literalmente preparado para ello. Igualmente cómo implementar SSR en ReactJs vanilla va a venir pero segurísimo
@@GentlemanProgramming Si, el tema de SSR con Next, ya viene integrado, la magia y dificultad esta en ReactJs Typescript sin next hacerle SSR con Express. y me di cuenta que un simple componente lo haces al toque! pero cuando implementas Routes y otras cositas (redux, sass y otros mas) se pone la cosa OSCURA! Ojo si con eso ganas un monton de views y nuevos subs! es un tema muy buscado y poco explicado desde cero Nuevamente, muchas gracias por tu contenido
Quise hacerle build y me dice que el usuario no tenia un rol predeterminado en el interface y hay un status de createUser como no estaba utilizado solo le puse status:undefined y luego un console.log. Esta bueno lo que se aprendió en el video. Solo faltó que el botón de log out aparezca al hacer log in y a la inversa. Pero creo que si el botón de log out se coloca en el componente de private pero por fuera del notfound con inicial se podría resolver (aun no me fijo). Voy a ver si podría adaptarlo con un crud en vez del localStorage. Muchas gracias!
Excelente contenido, preguntas, el hecho que el rol o la condición de acceso del guard este en el store/localstorage considerando que es la sola existencia del name u otra propiedad del objeto ¿no es inseguro al momento de tenerlo en producción? - como se solventa este tema ¿es correcto utilizar `../${ruta}` para regresar y mantener parte de la ruta anterior? ejem. /empleado/home /empleado/profile /empleado/trabajos De antemano gracias por tus respuestas.
Hola, intente preguntar por el discord con foto del problema, pero me dice que no se puede, que no esta permitido. En fin, gracias el curso, lo estoy aplicando, pero tengo un problema. Cuando un F5 dentro del admin, ya logeado, el context con la data del user, se borra y me saca del admin, lo intento reactivar con un metodo que me chequea el token y vuleve a logear, pero el guard me sigue detectando el usuario sin data. Me habre perdido en algo? Saludos
Nope, context guarda las cosas en la memoria del browser y este se guarda mientras la sesión de mantenga, si lo quieres guardar y que prevalezca tienes que usar alguna técnica de persistencia, como guardar en el local storage y consumir de ahí
Utilizo dos, Darcula que es mi preferido desde hace muchos años y luego esta ENFOCADO, un tema creado por uno de los chicos de la comunidad que es el que estás viendo ahora mismo en pantalla :)
¿Cómo se aplicaría para controlar qué opciones pueden ver los usuarios basados en su rol? Por ejemplo, un usuario "admin" y un usuario "editor", ambos con acceso a un mismo componente "Post", pero el usuario "editor" solo podría editar el post mientras que el "admin" tendría la opción extra de eliminar ese post.
Puedes crear un componente que reciba un children y un array de roles, si el usuario cumple con los roles que vienen del array, retornas el children :) De esta manera englobas a los botones o lo que quieras que se compruebe
Te fijaste que prettier sea el por defecto ? Fíjate abajo a la derecha que puedes elegir con que hacer el format. Te paso otra guía www.educative.io/answers/how-to-set-up-prettier-and-automatic-formatting-on-vs-code
Alan, qué increíble video, siempre estás ayudando a la comunidad. Tengo una pregunta, si mi API envía la información básica(nombre, email y rol) del usuario al hacer login, ¿sería una buena práctica guardar el estado global del usuario logueado en el localStorage?
Muy bueno y prácticoo el vídeo!. Gracias por compartir tu conocimiento. Te consulto, siempre que se acceda a una url privada el authguard hace la validación? Si es así hice algo mal, seguí los pasos pero para acceder al authguard debo escribir la url. Dentro del authguard tengo un metodo que verifica si un token es valido o no (en caso que no sea lo lleva al login), el problema es que solo cuando escribo la url hace la verificacion, si navego desde la web (con navigate) no hace la verificación.
@@GentlemanProgramming Ya ni recuerdo como pero lo solucioné, lo que encontré fue que el authGuard funciona solo cuando se accede a la web o no accediste previamente a la url con authguard. Por ejemplo, si tenes /urlsinAuthguard, /urlCONAuthguard y /urlCONAuthguard/nuevaURL. si navegas desde /urlsinAuthguard a /urlCONAuthguard valida lo que haya en el authguard si navegas desde /urlCONAuthguard a /urlCONAuthguard/nuevaURL no valida lo que haya en el authguard. Supongo que esto sucede porque el componente authguard valida cuando se carga, quizás en este punto se pueda hacer que el componente vuelva a hacer la comprobación en base a si cambia la URL o no. pd: sos un genio
Hola, muchas gracias por compartir tus conocimientos. Excelente video. Te hago una consulta yo hago algo parecido para las rutas privadas, con un high order component que valida si hay usuario. Este metodo que utilizas vos me parece mucho mejor , con tu permiso voy a empezar a utilizarlo en mis proyectos. No obstante, tengo el mismo problema que veo en el video con mi meteodo, ese pequeño pantallazo que se ve del dashboard( cuando vasa a la ruta privada) cuando el usuario no esta logueado hay forma de arreglarlo? y otra consulta yo uso redux solo, veo que redux toolkit es mucho mas sencillo sin tanto boilerplate y declaracion de action types. En el mercado se esta utilizadno mas redux toolkit que redux pelado? Un abrazo genio gracias por compartir esto
Si usas lazy loading tienes que poner en el fallBack un indicador de carga ! Con eso se solucionaría :) Y si en el mercado se va más a toolkit creo yo, pero saber redux solo te sirve para aprender para cualquiera de sus versiones !
Una consulta ... me han dicho q el mala idea guardar los datos del usuario logeado en el local Store por seguridad ..... No se si es eso cierto o falso
En el local storage sería mejor almacenar un token de sesión y en redux consultar si existe el token e ir a la DB a consultar los datos del usuario y almacenarlos en el store
Exacto, por eso mismo digo qué hay que tener mucho cuidado con que se guarda en el local storage. Solamente guarda cosas que no sean peligrosas para el usuario o la app
Hola, tengo una app en react native y al momento de crear los barrels tengo este error "Unable to resolve module @/hooks from /Users/acxelambrosi/Documents/workspace/React-Native/appLarviaSupport/src/screens/Home/Home.screen.tsx: @/hooks could not be found within the project or in these directories: node_modules ../node_modules" Supongo es algo que tiene que ver con el alias, en el tsconfig puse asi: "paths": {"@/*": ["./src/*"]}, Pero supongo que tambien debo configurar el babel.config asi como tu configuraste los dos archivos, como seria la configuracion en el babel ?
Hola Gentleman Programming. No sabes como me ha servido ver tus videos para complementar mis conocimientos en React, Typescript y demás asuntos relacionados. Viendo este video al final del mismo, me quedó un duda: Al momento del logout estás eliminando del localStorage y luego llamas al dispatch resetUser que ya en sí cumple esa tarea...esto no sería redundante? Espero tu respuesta y de nuevo te felicito por el contenido.
Buenas !! La verdad y perdón que leí tan tarde, no me acuerdo tan bien jaja, el reset user lo tengo por si en cualquier etapa del proyecto corriendo quiero reiniciar el estado del usuario, es más bien una buena práctica
@@GentlemanProgramming Gracias por responder, justamente una conocida me ha pedido algún proyecto interesante en donde aplique alguna arquitectura, asique voy a ver que se me ocurre y copiarte la arq, jaj saludos
useNavigate es igual a useHistory , ejemplo aplicado: let navigate = useNavigate(); cambia a let history= useHistory (); y si lo usas para redireccionar a algun punto pones navigate("/home"); = history.push("/home");
@@GentlemanProgramming el no entra al metodo, si no cambia la ruta a localhost:/Home, aparete tu lo colocas en el app, para que funcione tiene que estar dentro del componente privado.
@@jhonnyagudelo2467 me gusta tu solución para muchos roles ! También lo puedes chequear con un .every y ver que todos los roles que pasas por param estén incluidos. Lo de que no entra es a propósito ! Solo va a ejecutarse cuando se trate de entrar a algunas de las rutas contenidas en su interior, si te fijas en el vídeo, solo se ejecuta al tratar de entrar al Dashboard
Aplique esta arquitectura en un proyecto para USA, y el Tech lead quedo sin palabras. Bro sos un mago
Bro casualmente aplique tambien la misma arquitectura en un proyecto para una empresa Inglesa y quedaron con la boca abierta, este hombre es un crack
Let’s gooo recién lo leo jajajaja que bueno !!!!!!! 🎉🎉
Dios la cantidad de cosas que he aprendido en este video es increíble, todo paso a paso bien explicado, gracias Alan!
Tomé este video como base para intentarlo de la manera que usa RouterProvider para no solo copiar del video y aprender lo máximo , funciona de manera muy similar , muchas gracias por el curso es bastante útil , que conceptos tan importantes
Este video es oro puro, gracias Alan, sos un capo. Te mando un abrazo!
Este canal es una joyita y como desarrollador ya con pocos años de experiencia, agradezco que exista.
UFFFFFFFFFF INCREIBLEE! A diferencia de muchos videos de react, hiciste un codigo totalmente profundo, no te quedaste en la superficie como la mayoria y encima lo haces de manera sencilla, muy facil de entender, estare mas atento de tu canal de Twitch
En mi trabajo me dedico a desarrollar en genera y quiero que abran un apartado de desarrollo con react para yo ser parte, me encargaron un proyecto y propuse utilizar React, con la informacion de este video y de todo el canal, estoy seguro de que puedo crear un proyecto impresionante para convencerlos de crear el area de desarrollo pero con react!, Gracias! cada vez mas cerca de mi sueño por personas como tu ❤
Como fue eso !???
Y como te fue?
@@carlosandresgomezdaza9255 mal jajajaja no quisieron pero si las personas no cambian entonces cambia de personas, renuncie y en mi trabajo actual soy lider de proyecto con React y otro con Vue
Ufff que clase tan magistral !!! Muchas gracias por todo tu aporte a la comunidad. Soy desarrollador en Angular y estoy aprendiendo React !! Sigue adelante Alan !!! Dios te bendiga mucho 🙏🏻
Wow, literalmente amo este contenido! Voy a recomendarlo con todos mis amigos! Con de Tuti!
Excelente explicación, y con lo que haces todo bien ordenado y usando carpetas es el éxito, muchas gracias.
me estoy haciendo mejor programador cada día gracias a ti
Tremenda clase gentleman, que limpio ese código. Gracias por subirlos a YT ya que no puedo ver los stream. Gracias por compartir el conocimiento 😃
De nada Aubis !! Gracias por el aguante!!
Justo lo que estoy necesitando en estos momentos, grande Gentleman🔥🔥
36:46 empieza lo que me interesa, no quita que el contenido es genial, acabo de ver un curso en platzi de router y nada que ver con esta calidad
Por que platzi es basura jasjajsjas, gentleman es oro puro
uiiii que temazoooo me lo quedo mil gracias compa :)
23:16 En esta lista de reproducción, no aparece como ANTERIOR, el video de Redux. Esta el de los principales hooks
Va excelente el vídeo , voy en orden y no sé si seré yo pero me perdí un poquito con lo de RTQ pero supongo que se explicará después en los próximos videos de la lista , gracias maestro por este cursito y el vídeo , los veo hasta el final y se valoran todos esos detalles que enseñas que me sirven un montón 😎👍
Una absoluta locura, estoy aplicándolo en un proyecto y por ahora 10/10 lo único que no implemente es el lazy loading. Gracias ♥
Que golazo este video man
Amo tu contenido !!! Crack !
amigo excelente! un video de RxJS en react seria fantastico!
Ya lo tienes ! Busca gentleman Programming y rxjs y te saldrá :)
uno mas para tu canal gracias por los videos !
Excelente vídeo al final que hacer para no dejar a fuerza el rol: Roles.USER en el Login [Muchas gracias]
Siempre pon un Rol vacio como default y que se popule al hacer login, de esa manera puedes comprobar y saber que es un estado vacío y que todavía ni existe
Que hermoso video!, le metiste de todo.
Videazo!!
Justo en mi trabajo , un programador con mas señority usa a eso del fallback y lazy loading no entendia porque ,ahora entiendo porque lo utilizaba y me queda claro 😁
Esooooo :D, nunca dudes de preguntarle a ese senior todas las preguntas
Gracias por divulgar tu conocimiento!
A ti por pasarte y comentar !
sos un crack! gracias por compartir
que buen video genio!! muchas gracias!!!
Exelente capo!!!
excelente hrno es un videazo, recien estoy empenzando con react y pfff me mataste con esto, pero tengo una duda como puedo validar si en dashboard tengo diferentes menús y cada usuario los visualiza de acuerdo a su rol y a su vez a las acciones que le están permitidas?, espero me puedas responder
Alan ante todo Muchas gracias por distribuir tus conocimientos, quisiera saber/preguntarte: Has hecho server side rendering con react usando express? podrias dar un video detallado asi como acostumbras de un simple SSR aplicandolo a un proyecto comenzado con create-react-app . Gracias nuevamente. Se que existe Next pero a veces tenemos proyectos en React en donde debemos aplicarle SSR y me jode ver videos que no sean detallados o entendibles de como hacerlo tras ya tener tu webapp con create-react-app
todavía no le he metido caña a SSR, pero seguramente lo haga y de la mano con Next.Js ya que está literalmente preparado para ello.
Igualmente cómo implementar SSR en ReactJs vanilla va a venir pero segurísimo
@@GentlemanProgramming Si, el tema de SSR con Next, ya viene integrado, la magia y dificultad esta en ReactJs Typescript sin next hacerle SSR con Express. y me di cuenta que un simple componente lo haces al toque! pero cuando implementas Routes y otras cositas (redux, sass y otros mas) se pone la cosa OSCURA! Ojo si con eso ganas un monton de views y nuevos subs! es un tema muy buscado y poco explicado desde cero
Nuevamente, muchas gracias por tu contenido
Quise hacerle build y me dice que el usuario no tenia un rol predeterminado en el interface y hay un status de createUser como no estaba utilizado solo le puse status:undefined y luego un console.log. Esta bueno lo que se aprendió en el video. Solo faltó que el botón de log out aparezca al hacer log in y a la inversa. Pero creo que si el botón de log out se coloca en el componente de private pero por fuera del notfound con inicial se podría resolver (aun no me fijo). Voy a ver si podría adaptarlo con un crud en vez del localStorage. Muchas gracias!
Excelente contenido, preguntas, el hecho que el rol o la condición de acceso del guard este en el store/localstorage considerando que es la sola existencia del name u otra propiedad del objeto
¿no es inseguro al momento de tenerlo en producción? - como se solventa este tema
¿es correcto utilizar `../${ruta}` para regresar y mantener parte de la ruta anterior? ejem. /empleado/home /empleado/profile /empleado/trabajos
De antemano gracias por tus respuestas.
Totalmente es correcto lo de las rutas, luego en cuanto al local storage, siempre que guardes info no sensible está todo bien 😊
Grande!!
Hola, intente preguntar por el discord con foto del problema, pero me dice que no se puede, que no esta permitido.
En fin, gracias el curso, lo estoy aplicando, pero tengo un problema.
Cuando un F5 dentro del admin, ya logeado, el context con la data del user, se borra y me saca del admin, lo intento reactivar con un metodo que me chequea el token y vuleve a logear, pero el guard me sigue detectando el usuario sin data.
Me habre perdido en algo?
Saludos
Nope, context guarda las cosas en la memoria del browser y este se guarda mientras la sesión de mantenga, si lo quieres guardar y que prevalezca tienes que usar alguna técnica de persistencia, como guardar en el local storage y consumir de ahí
agradecido con el algoritmo por conseguirme a este canal :), por cierto, qué tema usas en vscode?
Buenas Samuel ! Siempre uso dos:
1- Darcula
2- Enfocado, creado por uno de los chicos de la comunidad :D
gracias bro , feliz día
Que nota de tema vscode, de verdad que me gustó
Utilizo dos, Darcula que es mi preferido desde hace muchos años y luego esta ENFOCADO, un tema creado por uno de los chicos de la comunidad que es el que estás viendo ahora mismo en pantalla :)
que seria eso de los barrel y porque lo haces con cada archivo???
¿Cómo se aplicaría para controlar qué opciones pueden ver los usuarios basados en su rol? Por ejemplo, un usuario "admin" y un usuario "editor", ambos con acceso a un mismo componente "Post", pero el usuario "editor" solo podría editar el post mientras que el "admin" tendría la opción extra de eliminar ese post.
Puedes crear un componente que reciba un children y un array de roles, si el usuario cumple con los roles que vienen del array, retornas el children :)
De esta manera englobas a los botones o lo que quieras que se compruebe
Hey genio, excelente video, por cierto cual font estas usando en vscode
Microsoft Cascadia 🥰❤️🔥
Puedes hacer un tutoríal con zustand
Saben como formatear tsx, en mi vscode no funciona el formateador de tsx, pls tengo prettier y eslint, y saveOnSave y nada
Te fijaste que prettier sea el por defecto ? Fíjate abajo a la derecha que puedes elegir con que hacer el format.
Te paso otra guía www.educative.io/answers/how-to-set-up-prettier-and-automatic-formatting-on-vs-code
Alan, qué increíble video, siempre estás ayudando a la comunidad. Tengo una pregunta, si mi API envía la información básica(nombre, email y rol) del usuario al hacer login, ¿sería una buena práctica guardar el estado global del usuario logueado en el localStorage?
Depende, siempre que sea información no sensible está todo bien 😊
como habilito la opcion de create barrel?
Muy bueno y prácticoo el vídeo!. Gracias por compartir tu conocimiento.
Te consulto, siempre que se acceda a una url privada el authguard hace la validación? Si es así hice algo mal, seguí los pasos pero para acceder al authguard debo escribir la url.
Dentro del authguard tengo un metodo que verifica si un token es valido o no (en caso que no sea lo lleva al login), el problema es que solo cuando escribo la url hace la verificacion, si navego desde la web (con navigate) no hace la verificación.
Mil perdones que no lo leí !! Has podido solucionarlo ? 😢
@@GentlemanProgramming Ya ni recuerdo como pero lo solucioné, lo que encontré fue que el authGuard funciona solo cuando se accede a la web o no accediste previamente a la url con authguard.
Por ejemplo, si tenes /urlsinAuthguard, /urlCONAuthguard y /urlCONAuthguard/nuevaURL.
si navegas desde /urlsinAuthguard a /urlCONAuthguard valida lo que haya en el authguard
si navegas desde /urlCONAuthguard a /urlCONAuthguard/nuevaURL no valida lo que haya en el authguard.
Supongo que esto sucede porque el componente authguard valida cuando se carga, quizás en este punto se pueda hacer que el componente vuelva a hacer la comprobación en base a si cambia la URL o no.
pd: sos un genio
buenas dias, hay alguna forma de implementarlo para ocultar los item del menu segun el rol ?
Mister ! Ahí te conteste por Discord 🤓
sera que puede hacer un tutorial de react.router-dom 6.4 ?
grande crack para cuando ssr en react :D y como se llama la extenion para crear el barril automaticamente
la extension es Auto Barrel !
lo de SSR lo estoy evaluando para poder explicarlo bien 💖💖
Hola, muchas gracias por compartir tus conocimientos. Excelente video. Te hago una consulta yo hago algo parecido para las rutas privadas, con un high order component que valida si hay usuario. Este metodo que utilizas vos me parece mucho mejor , con tu permiso voy a empezar a utilizarlo en mis proyectos. No obstante, tengo el mismo problema que veo en el video con mi meteodo, ese pequeño pantallazo que se ve del dashboard( cuando vasa a la ruta privada) cuando el usuario no esta logueado hay forma de arreglarlo? y otra consulta yo uso redux solo, veo que redux toolkit es mucho mas sencillo sin tanto boilerplate y declaracion de action types. En el mercado se esta utilizadno mas redux toolkit que redux pelado? Un abrazo genio gracias por compartir esto
Si usas lazy loading tienes que poner en el fallBack un indicador de carga ! Con eso se solucionaría :)
Y si en el mercado se va más a toolkit creo yo, pero saber redux solo te sirve para aprender para cualquiera de sus versiones !
Una consulta ... me han dicho q el mala idea guardar los datos del usuario logeado en el local Store por seguridad ..... No se si es eso cierto o falso
En el local storage sería mejor almacenar un token de sesión y en redux consultar si existe el token e ir a la DB a consultar los datos del usuario y almacenarlos en el store
Exacto, por eso mismo digo qué hay que tener mucho cuidado con que se guarda en el local storage. Solamente guarda cosas que no sean peligrosas para el usuario o la app
genio!!, gracias
Y se puede hacer similar con Next js ?
Aquí con NextJs nextjs.org/docs/pages/building-your-application/authentication
god video ❤❤
Hola, tengo una app en react native y al momento de crear los barrels tengo este error "Unable to resolve module @/hooks from /Users/acxelambrosi/Documents/workspace/React-Native/appLarviaSupport/src/screens/Home/Home.screen.tsx: @/hooks could not be found within the project or in these directories:
node_modules
../node_modules"
Supongo es algo que tiene que ver con el alias, en el tsconfig puse asi: "paths": {"@/*": ["./src/*"]}, Pero supongo que tambien debo configurar el babel.config asi como tu configuraste los dos archivos, como seria la configuracion en el babel ?
Creo que lo que te falta es poner la config de webpack, en vitejs también hay que agregarlo
@@GentlemanProgramming pero no tengo archivo de configuracion de webpack en mi app de react-native, solo tsconfig y babel
@@thekillercraft1000 aquí te tengo una posible solución: www.reactnativeschool.com/how-to-setup-path-alias-in-a-react-native-typescript-app
Hola Gentleman Programming. No sabes como me ha servido ver tus videos para complementar mis conocimientos en React, Typescript y demás asuntos relacionados.
Viendo este video al final del mismo, me quedó un duda: Al momento del logout estás eliminando del localStorage y luego llamas al dispatch resetUser que ya en sí cumple esa tarea...esto no sería redundante?
Espero tu respuesta y de nuevo te felicito por el contenido.
Buenas !! La verdad y perdón que leí tan tarde, no me acuerdo tan bien jaja, el reset user lo tengo por si en cualquier etapa del proyecto corriendo quiero reiniciar el estado del usuario, es más bien una buena práctica
Buenas gentleman, pregunta, el browserRouter, routes y route, son viejas prácticas según la docu. Se puede llevar está arq a lo nuevo?
Totalmente !! Creo que no habría problema :)
@@GentlemanProgramming Gracias por responder, justamente una conocida me ha pedido algún proyecto interesante en donde aplique alguna arquitectura, asique voy a ver que se me ocurre y copiarte la arq, jaj saludos
buenas tengo una inquietud al momento que subirla a netlify la ruta del 404 no funciona alguien me podría ayudar con esto gracias.
dentro de tu carpeta public agrega un file llamado "_redirects" con el siguiente código:"
/* /index.html 200
exitos !
@@GentlemanProgramming Gracias por responder y por la ayuda
yo estoy usando react 16.8.6, pero no tengo los componentes Outlet y Navigate, como lo lo aria
:(
Es una librería ! React router dom
Si, pero ahí sería jugar con la la propiedad render creo?
@@JoSe41755 la verdad que no entendi mucho la pregunta, si quieres pasate por DIscord para hablarlo con la comunidad ! link en la descripcion
useNavigate es igual a useHistory , ejemplo aplicado: let navigate = useNavigate(); cambia a let history= useHistory ();
y si lo usas para redireccionar a algun punto pones navigate("/home"); = history.push("/home");
Alguien me puede explicar que es eso de interface ILoginprops? Nunca habia visto eso en react, ni tampoco lo de Login : React.SFC
Buenas, excelente video, me ayudo muchoooo, pero veo un error en el RoleGuard, no funciona
Que te dice ?? Vente al discord para preguntarlo :)
@@GentlemanProgramming el no entra al metodo, si no cambia la ruta a localhost:/Home, aparete tu lo colocas en el app, para que funcione tiene que estar dentro del componente privado.
mi solucion fue
export const RolGuard = ({ allowedRoles = [] }) => {
const userState = useSelector((store) => store?.auth);
const roles = userState?.user?.rols?.map((i) => i.nombre);
/*Por si tiene mas roles*/
const isRol = roles.reduce(
(resultado = false, elemento) =>
allowedRoles.includes(elemento) ? (resultado = true) : resultado,
false
);
return isRol ? (
) : (
);
};
const Private = () => {
return (
);
};
@@jhonnyagudelo2467 me gusta tu solución para muchos roles ! También lo puedes chequear con un .every y ver que todos los roles que pasas por param estén incluidos.
Lo de que no entra es a propósito ! Solo va a ejecutarse cuando se trate de entrar a algunas de las rutas contenidas en su interior, si te fijas en el vídeo, solo se ejecuta al tratar de entrar al Dashboard
No es el token correcto . Me mataste jajajajajaja
Gracias crak!
De nada Esteban queridooo
pregunta de principiante e ignorante, para que es necesario crear el amigo llamado ''barrel'?
Hola, es para crear las exportaciones de manera mas rápida, ya que utiliza el index para agruparlas
Solo con esa intro se gano el like 🤣
Jajajaja 🥰🤓🤓
Alguien sabe el tema?
Dracula :)
Y con next ??
Ahí no sabría decirte pero la lógica sería la misma :)
No me sale el create barrel
para que sirve eso?
Tienes que bajar la extensión auto barrel de vscode :) en el vídeo lo comento
Está explicado en el vídeo :D
@@GentlemanProgramming Muchas gracias
Alan ya probaste Svelte?
pd: ya le di like al video, lo veo luego 💪
Gracias dingo querido. Si ! Tengo unos vídeos de svelte pero no causó interés en la gente y por eso dejé 🥲
Crack
Tu por el aguante :)
Crack