Channel
Interviewed Person
Gonzalo Pozzo (Goncy)
Pensaste que saber getServerSideProps y getStaticProps era saber Next.js pero nunca estuviste tan equivocado. Acá hablamos de la posta. Preparate para las entrevistas con este contenido y después decime como te va 🤝

Goncy
Interviewed: Gonzalo Pozzo (Goncy)
Es dice, "Uso router. Refresh en una página con force dynamic. Funciona en local, pero en prod." ¿Qué significa? Esto es una muy buena pregunta de entrevista. Realmente una muy buena pregunta de entrevista. Lo que está diciendo esta persona es que tiene una página que es 100% dinámica. Imagínense una página que cada vez que ustedes la refrescan muestra un número nuevo en pantalla. Como estamos teniendo contenido dinámico, cada vez que nosotros lecamos un refresh, le pegamos una base de
datos, le aumentamos un número, lo mostramos en pantalla, ¿no? O sea, cada vez que nosotros hacemos un F5. Ahora, ¿qué pasa si nosotros tenemos el la instancia de router, o sea, esa que obtenemos con router de Next Navigation y le hacemos un router punto refresh, se vería un número actualizado en pantalla cada vez que nosotros le
damos a router punto refresh? ¿Ustedes qué dirían? Yo ahora les comento la respuesta, pero ustedes internamente, ¿qué es lo que les dice esto? En proyectos medianamente grandes es mejor separar el backend de NSJs para separar responsabilidades. Ahora vamos a esa entre el server XJ, el server de componente recencia. Dos muy buenas preguntas. Ahora las vamos a ver. ¿Debería, pero no causa un rerrender el refresh? Todo lo que dijiste, Chan, está
mal. Pero ahora vamos a por qué está mal. Em, bueno, cuestión. Si usamos router refresh, lo que estamos haciendo, vamos a a pensarlo de esta manera, tenemos dos router. Uno es el router que pasa en el server, o sea, entra una petición a nuestra página, alguien quiere entrar al al home, quiere entrar al index y hay un router en el server que decide qué página es la que
va a tener que mostrar dependiendo de la petición que se originó. Y alguien dijo, "Che, quiero ir a barra, que es nuestra home." El router dice, "Bueno, la página que tengo que ejecutar, que tengo que generar el servidor y después volver es la barra." Entonces, ese es el primero, vamos a decirle el server router. Se se genera la página porque es dinámica, se le manda, me cociner se le manda al cliente. Ahora, algo que es muy
confuso en Nexts y que me encantaría que sea mucho más sencillo es el tema del caching. Si nosotros tenemos una cantidad estúpida de calles, tenemos el calle del servidor, tenemos el calle del cliente, tenemos el calle del router, tenemos data casash, tenemos un montón de calles diferentes. En este caso, nosotros solamente podemos acceder a la instancia esta de router que nos da use router desde lado del cliente. ¿Por qué? porque es un hook que solo podemos acceder de client components. Lo que nos permite usar este hook de use router es
la instancia del router del cliente. Cuando nosotros llamamos a router. Refresh, lo que hacemos es refrescar el calé del cliente, o sea, refrescar la ruta en el cliente. Por ende, por eso te digo, Chan, que lo que dijiste estaba mal. causa un rerender, el router. Refresh, pero no ejecuta nuevas peticiones hacia el servidor. O sea, que todas las la
data que nos vino a nosotros el servidor sigue siendo exactamente la misma, pero volvemos a generar un rerrender. ¿Para qué quisiéramos hacer algo por el estilo? Bueno, imagínense que nosotros actualizamos los query params, los search params o algo por fuera del flujo de React o teníamos, no sé, un time stamp o teníamos un use effect desde el lado del cliente que hacía una petición para traerse datos. Entonces, todas esas cosas del cliente que dependían de este