Tengo un problema con el uso de generación estática incremental con el marco Nextjs, estoy usando getStaticPath y getStaticProps como el siguiente código
export const getStaticPaths: GetStaticPaths = async () => { const paths = [{ params: { username: 'kelly' } }]; return { paths, fallback: true }; }; export const getStaticProps: GetStaticProps = async (context: any) => { const username = context.params.username; /* api call getUserData */ const userData = await getUserData(username); if (!userData || userData.images.length < 1) { return { notFound: true }; } return { props: { userData }, revalidate: 300 }; };
Todo funciona bien como se esperaba
si actualizo la api del punto final del usuario, la página del usuario se actualiza y, al usar fallback = true, la página se reconstruye cada 300 s, por lo que todo está bien aquí.
los problemas comienzan si elimino un usuario (ejemplo usuario1), (en mi caso, cuando el punto final de la API no genera datos para el usuario1). La página que tiene la ruta (/myapp/user1 ) debería dar un 404 como se esperaba en el código en lugar de eso: obtengo una página 404 por solo 20 minutos, luego la página 404 se reemplaza por una página en caché (parece ser el última página estática que se ha creado a continuación para esta ruta)
parece para Nextjs, siempre que ya se haya creado una página estática para una ruta dada myapp/user1, si más tarde esta página ya no existe (404 o redirect404), Nextjs servirá la página que tiene en el caché (la última página que fue construida),
La única forma que encontré para eliminar la página estática y obtener el 404 para la página es volver a implementar (para realizar una compilación de ejecución npm reconstruida)
Por favor, ayuda: - ¿Existe una opción para cambiar esta configuración de caché en nextjs, en caso afirmativo, cómo y dónde / - ¿Es una falta de opción para Nextjs cuando se usa la generación estática incremental? -También, por razones desconocidas, funciona bien en el escenario, pero en la producción no funciona.