Estoy usando getStaticPaths y getStaticProps para recuperar datos del backend y luego uso useeffect para establecer estos datos en el estado (datos).
¿Por qué estoy haciendo esto? Estoy haciendo esto debido al botón Cargar más, por lo que tengo que cargar más contenido cuando se hace clic en el botón.
Pero mi SEO no depende del estado (datos).
Entonces, mi pregunta es si el seo (encabezado) se procesa en el servidor y no en otros componentes que usan datos del estado.
export const getStaticPaths = async () => { const data = await get(); if (data.status === 'fail' || !data.data.data) { return { paths: [], fallback: true, }; } const paths = data.data.data.map((category: any) => { return { params: { categoria: category.attributes.name }, }; }); return { paths: paths, fallback: true, }; }; export const getStaticProps = async (context: any) => { const id = context.params.categoria.split('-').join(' '); const dataCateriesExist = await getGenericAxios(); if ( dataCateriesExist.status === 'fail' || dataCateriesExist.data.data.length === 0 ) { return { notFound: true }; } const data = await get(); const dataVideo = await get(....) return { props: { news: data, video: dataVideo }, revalidate: 60 }; };cómo uso useEffect:
useEffect(() => { if (!router.isFallback) { setNext(props.news?.data?.links?.next?.href || ''); setData(props.news?.data?.data || []); setIncluded(props.news?.data?.included || []); setNextVideo(props.video?.data?.links?.next?.href || ''); setDataVideo(props.video?.data?.data || []); setIncludedVideo(props.video?.data?.included || []); } }, [router.isFallback, props]);y tengo por componente seo que no usa datos del estado, es solo texto
También sin useEffect si trato de hacer algo como
const [data, setData] = useState(props.news?.data?.data || []);y luego la ruta se cambia con otra categoría, veo los mismos datos que la página anterior