This graph shows how many times the word ______ has been mentioned throughout the history of the program.
A veces queremos que un usuario tenga o no acceso a una ruta, dependiendo si tiene la sesión iniciada o dependiendo de su nivel de acceso.
Para hacer esto, en RealRouterDome existen diferentes estrategias, pero en este vídeo te voy a enseñar cómo lo puedes hacer muy fácilmente con la prop Render.
Vamos a verlo.
Hay diferentes formas de hacerlo.
Una podría ser utilizando justamente una prop que tiene las rutas, que es Render.
Y aquí en Render, tú le puedes indicar, en lugar de ponerle un children, le puedes indicar qué es lo que tiene que renderizar.
Así que aquí le vamos a pasar un método y le vamos a decir que lo que tiene que renderizar, en el caso de tener un usuario, pues lo que vamos a renderizar es por ahora null.
Luego le vamos a poner otra cosa.
Y si no tenemos usuario, pues login.
Ahora guardamos esto y esto debería ser...
Deberíamos devolverlo, ¿vale?
Ves que esto deberíamos hacer un return de esto, porque le tenemos que decir qué es lo que tiene que renderizar.
Si tenemos usuario, null.
Si no, pues el login.
Esa tendría que ser...
Esa podría ser una.
Ahora no aparece nada.
Lo que pasa es que es muy feo que el usuario, estando logado, intente ir a login y no le mostremos nada.
Es un poco raro.
En RealRouter, por supuesto, puedes hacer también redirecciones.
Para ello, puedes utilizar el componente redirect y decirle hacia dónde tienes que redirigir.
Así que le vamos a decir que vaya, por ejemplo, a...
Le podemos decir o a nodes.
Vamos a poner este, ¿vale?
Esto lo importamos también de RealRouter DOM.
Y ahí lo tendríamos.
Si tenemos un usuario, lo vamos a redirigir a la home.
Y si no, pues le enseñamos el formulario.
Ahora, si intento ir a login, ¿ves?
Aparece un momento...
Eso se puede solucionar, porque al final eso ha sido un momento de que lo tenemos en un useEffect.
Y entonces, mientras el useEffect se ejecuta y tal, pues todavía tiene usuario.
Pero al final está haciendo la redirección correctamente y no está permitiendo que se quede en esa página.
Esto no es una forma de seguridad, ¿vale?
Esto solo está ocurriendo en el cliente y este JavaScript lo podría cambiar el usuario de forma manual.
Así que, al final, la seguridad...
Muchas veces no pasa nada que un usuario tenga acceso, por ejemplo, al login, a donde quiera.
Lo importante es que la API, si no tiene el token, como hemos visto en anteriores clases,
pues, oye, no podrá enviar o no podrá interactuar con el backend.
Y ya está, no pasa nada.
Eso yo creo que es lo más importante, ¿vale?
Gracias.