Bien, pero ¿qué pasa si queremos agregar algo de autenticación? ¿Qué pasa si no todas las páginas deben ser vistas por todos? Bueno, volvamos un poco a nuestro archivo base, y en este caso, tendremos la opción beforeload, y aquí estoy haciendo una solicitud al servidor, y en este caso, estoy usando TRPC, pero podríamos estar usando una solicitud de access o fetch, y si el CD no existe, o no tiene las reglas necesarias para esta página, entonces lanzamos una redirección a la página de inicio. Aquí podemos hacer, si el usuario no está autenticado, y todo eso, y esto sucede antes de que la página se sirva al cliente, lo que significa que no parpadea la página del CD, la lista de la página del CD, y luego iremos directamente a la página de inicio, no parpadea nada, lo que lleva a una mejor experiencia de usuario.
Bien, ahora hablemos de la vida paralela de HANA Montana. ¿Qué pasa si quiero que el usuario esté en una página pero viendo otra? ¿Cómo podemos hacer eso? Bien, entonces este componente de enlace también es de TimeStack Router, y podemos decir que va a la página slash mask, pero en realidad lo que el usuario ve es que va a la página slash CD, lo cual creo que es bastante genial, y puede ser útil cuando estás abriendo modelos y cosas, pero no quieres mostrarle al usuario que es una página diferente. ¿Y no es esto pura magia?
Bien, ahora la obtención de datos inteligente. Ahora datos. Aquí es donde realmente entra en juego el ADN de TimeStack. Cada ruta puede tener su cargador, y aquí estoy usando las dependencias del cargador para pasar la página, así que si necesitáramos la página para obtener nuestro primer CD, podríamos usarla en la solicitud. Y antes de renderizar mi página, estoy haciendo una solicitud al servidor en el cargador, nuevamente a través del IRPC y devolviendo ese mismo resultado y sus parámetros de búsqueda. Para usar los parámetros de búsqueda en el cargador, tenemos que devolver las dependencias del cargador en la opción de dependencias del cargador. ¿Y cómo podemos hacer esto, y cómo podemos usar esto en el componente? Nuevamente, con un hook, con el use loader data. Y aquí obtienes directamente el CD, que ya está cargado, y adivina qué, esto también está tipado con la parte anterior, y podemos usar la información a nuestro antojo. Y si esto no fuera suficiente, también podemos diferir datos.
Comments