👨‍💻Functional route guards en

Поділитися
Вставка
  • Опубліковано 9 січ 2025

КОМЕНТАРІ •

  • @gustavoag6
    @gustavoag6 Рік тому +4

    vengo de un curso que usaba los guards deprecados (como clases) me sirvió mucho, gracias!

    • @programacion-es
      @programacion-es  Рік тому +2

      Esooooo muchas gracias por comentar! Me alegra un montón que te haya sido útil, un saludo y que tengas buen código!!

  • @gregorylugo8909
    @gregorylugo8909 Рік тому +1

    Excelente aporte a la comunidad!!

    • @programacion-es
      @programacion-es  Рік тому +1

      Mil gracias! Un saludo y que tengas buen código!

  • @danteiz
    @danteiz Рік тому

    Gracias por el aporte el deprecated me tenia lokisimo jaja

    • @programacion-es
      @programacion-es  Рік тому +1

      ashdgashjdgashjgd suele pasar xD, me alegra que te haya sido útil, un saludo y que tengas buen código!

  • @miltrus
    @miltrus Рік тому

    muchas gracias por la explicación 👍👍

    • @programacion-es
      @programacion-es  Рік тому

      Muchas gracias a ti por comentar! Un saludo y que tengas buen código!!

  • @herickhemanuelvazqueznavar3249

    Grande gracias

    • @programacion-es
      @programacion-es  Рік тому

      Gracias a ti por comentar! Un saludo y que tengas buen código!!

  • @rekcahet
    @rekcahet Рік тому

    Justo tenia un problema con canActivate del guards q estaba obsoleta y pude corregir error, este video

    • @programacion-es
      @programacion-es  Рік тому +1

      Esooooo me alegra un montón que te haya sido útil =) Un saludo y que tengas buen código!!!

  • @luyasanl
    @luyasanl 8 місяців тому

    hola gracias por el video, tengo una duda si me puedes porfavor ayudar, como puedo implemtar si en una app el cliente me pide, que necesita un enlace, en el cual usuarios puedan ingresar interactuar con alguna informacion alli, al igual que guardar datos, pero que entren sin la necesidad de loguearse y pues estando seguro de que no van a poder ingresar a ningun otro aparte de la app, gracias!!

    • @programacion-es
      @programacion-es  8 місяців тому +1

      Puedes poner la ruta de la página que quieres tener pública para todos y el resto protegerlas con credenciales verificando a través de un guard si, por ejemplo, hay un token de sesión o información del usuario en sessionStorage o el storage que uses para los datos, si no los hay, no le dejas entrar y le muestras un mensaje de error o lo redireccionas a la página pública de nuevo =)

  • @fredygarcia7844
    @fredygarcia7844 Рік тому +1

    Como se haria para utilizar el router en guard? se puede inyectar como el servicio

    • @programacion-es
      @programacion-es  Рік тому +1

      Si, puedes inyectar el router con inject y usarlo dentro del guard =)

    • @fredygarcia7844
      @fredygarcia7844 Рік тому

      @@programacion-esgracias bro por responder, antes ponía un if si estaba logeado y en el false colocaba this.router.navigate y la ruta del login pero eso lo intente hacer y me dice el método no es una función. :(

    • @programacion-es
      @programacion-es  Рік тому

      @@fredygarcia7844 en los funcionales tendrías que inyectar el router con inject: const router = inject(Router); y luego lo puedes usar: router.navigate(['/tu-ruta']);

    • @fredygarcia7844
      @fredygarcia7844 Рік тому

      @@programacion-es hice todo pero me sale router.navigate is not a function
      TypeError: router.navigate is not a function, en el false tengo return router.navigate(['auth/login']);

    • @fredygarcia7844
      @fredygarcia7844 Рік тому

      el problema es el inject lo tenia la I mayuscula muchas gracias Bro xD

  • @lenerjic2858
    @lenerjic2858 Рік тому

    Hola, tengo un error de "localStorage is not defined" cuando trata de ir a una ruta, el guard hace uso del localstorage para obtener un valor y depende de ello si retorna un true o false; por ejemplo si uno trata de ingresar a una ruta sin logearse, y el guard no encuentra una variable en el localstorage que se crea al logearse, lo redirige al login; Y si funciona, pero cada vez que se usa el guard aparece ese error en la terminal y es molesto, hay forma de solucionarlo?, agregando uso los todos los archivos con inject en vez del constructor.

    • @programacion-es
      @programacion-es  Рік тому +1

      Mmm, lo primero que me viene a la mente es que tengas el SSR activo en el proyecto o, si estás usando versiones anteriores a la 17, que estés usando angular universal y por eso no tenga acceso a localstorage, también échale un ojo a esto angular.dev/guide/di/di-in-action#custom-providers-with-inject

    • @lenerjic2858
      @lenerjic2858 Рік тому

      @@programacion-es gracias por la ayuda, y si estoy usando el SSR y por lo pronto declaré una condicional en el servicio tipo: isLocalStorageAvailable = typeof localStorage !== 'undefined';, si era undefined hacia un console.info y retornaba null y si no hacia la peticipon como tal, no es una solucion defnitiva pero almenos redusco a una linea de codigo tipo console, de varias lineas en rojo.

  • @JM-pu3ih
    @JM-pu3ih Рік тому

    Podrias hacer explicar tambien para otro framework como vue ?

    • @programacion-es
      @programacion-es  Рік тому +1

      Me lo anoto, pero ojo con la comparación, Vue no es otro lenguaje, es otro framework y tanto angular como vue como react, next, etc. parten del mismo lenguaje (JavaScript) y soportan el uso de TypeScript =)

  • @FranciscoSilva-qt4es
    @FranciscoSilva-qt4es Рік тому

    Gracias por el aporte; tengo un problema y quisiera compartirlo a ver si me podrias ayudar. Estoy injectando mi servicio, pero todas las propiedades del servicio aparecen nulas, aun cuando el servicio ya ha sido inicializado y usado para hacer el login, ya obtuvo el token y todo lo necesario, pero al momento de usarlo en el Guard, simplemente las propiedades del servicio estan vacias.
    Que me falta? que podría estar omitiendo? De antemano mil gracias.

    • @programacion-es
      @programacion-es  Рік тому +1

      Mmm, puede ser la manera de inyectarlo o el momento en que se carga, si puedes, abre un hilo en el foro de ayuda de discord con todo el detalle que puedas, si tienes el código en un repo público de Github para poder revisarlo también sería genial. En este enlace tienes el link al server de Discord: programacion-es.dev/redes/

  • @FranciscoCastañeda-y8y
    @FranciscoCastañeda-y8y Рік тому

    Muchas gracias!

    • @programacion-es
      @programacion-es  Рік тому

      Muchas gracias a ti por comentar! Un saludo y que tengas buen código!!

  • @hsabatino
    @hsabatino Рік тому

    BRU-U-TAAAL

  • @martinflores9611
    @martinflores9611 Рік тому

    uyyy muy bueno saludos

  • @Chompi
    @Chompi Рік тому

    buenisimo

  • @freddyarriagacruz8987
    @freddyarriagacruz8987 Рік тому

    supongo q tengo q acutalizar mi cli porque me lo sigue generando con el deprecate

    • @programacion-es
      @programacion-es  Рік тому

      En efecto, los functional route guards están disponibles desde la versión 14.2 =)

  • @heisenberg5474
    @heisenberg5474 Рік тому

    Gracias!

  • @gustavocaqui7600
    @gustavocaqui7600 Рік тому

    Good Code ;D