Tengo el siguiente problema.
En nuestro proyecto Next.JS tenemos 3 páginas:
/documents => muestra todos los documentos /document/[id]/index.js => muestra la página del documento /document/[id]/edit.js => muestra la página de edición del documento
Bastante simple hasta ahora. En todas estas páginas usamos un gancho useDocument con router.query.id | props.id (from getServerSideProps) que carga el documento con SWR.
Esto generalmente funciona sin problemas. Pero cuando abro una página de documento, luego vuelvo a la lista de documentos y luego trato de abrir un documento diferente en la página de edición, muestra correctamente la URL del navegador con /editar al final, pero de alguna manera muestra la página de visualización del documento y no la editar página. Cuando actualizo, todo funciona bien y se abre la página de edición. Esto solo sucede en el modo de producción y no puedo recrearlo localmente, lo cual es muy molesto. Además, lo cual es muy extraño, no sucede cuando abro las herramientas de desarrollo de reacción ^^
Lo que descubrí hasta ahora es que, a veces props.id sigue siendo la identificación del último documento y router.query.id contiene el nuevo documento. Pero todavía no se muestra el documento antiguo, sino el nuevo en la página incorrecta. También trato de cambiar para cargar siempre el documento con el router.query.id pero eso tampoco funcionó.
Lo que encontré es que Next.JS tiene algunos problemas con el estado de no actualización al cambiar de página dinámica, pero eso no me ayudó hasta ahora.
¿Alguien experimentó algo similar?