Así es como se ve mi carpeta de páginas:
pages index.js [...slug].jsSé que el problema radica con seguridad en el hecho de que estoy usando la captura de todas las rutas directamente en la carpeta de páginas , porque probé con una estructura "pages/page/[...slug].js y todo funciona bien.
Al navegar usando el componente Link desde la página index.js a una página [...slug].js (por ejemplo, /carreras o /blog), todo funciona bien .
PERO cuando se navega desde una página [...slug].js (p. ej., /contacto) a otra página similar (p. ej., /blog), solo la URL cambia correctamente, pero el contenido de la página permanece igual , por lo que no se vuelve a procesar.
Nota: Navegar desde una página [...slug].js de regreso al archivo raíz (href="/") funciona.
TLDR:
Al devolver el conjunto de accesorios de su función getStaticProps o getServerSideProps, devuelva un accesorio "clave" y asígnele un valor único, de modo que la reacción pueda diferenciar entre las dos páginas que se sirven desde la misma ruta dinámica.
Encontré la solución al "problema" en el problema de github del año pasado: https://github.com/vercel/next.js/issues/9992
Puede encontrar una solución clara leyendo el problema que vinculé.
Haga que cada página tenga su propio archivo dentro de su carpeta de páginas. Por ejemplo, podrías tener:
pages/ index.js contact.js careers.js blog.jsCada archivo debe exportar una función predeterminada que devuelve JSX.