effidevFlutter · Edge de Cloudflare · Optimización de costes en la nube
Español

Optimización de Web Vitals en React/Next.js: Reduciendo INP y LCP por debajo de 1 segundo

React Next.js INP and LCP Web Vitals Optimization Guide

Con Google adoptando INP (Interaction to Next Paint) como métrica clave de Core Web Vitals, la medición del rendimiento se centra en la respuesta táctil e interactiva tras los clics o entradas del usuario.

En aplicaciones React/Next.js, la ejecución pesada de JavaScript bloquea el hilo principal y empeora el INP.

Esta guía cubre técnicas efectivas para optimizar el INP y lograr un LCP por debajo de 1 segundo usando React 19, scheduler.yield() y streaming de recursos.

Puntos clave

  • INP: Mide la latencia desde la interacción del usuario hasta la siguiente pintura. Debe ser $\le 200\text{ ms}$.
  • Fraccionar tareas: Usa scheduler.yield() para evitar bloquear el hilo principal durante más de 50 ms.
  • React 19 useTransition: Desprioriza actualizaciones pesadas de UI para mantener la fluidez al escribir o hacer clic.

1. Fragmentando tareas con scheduler.yield()

export async function yieldToMain() {
  if ('scheduler' in window && 'yield' in (window as any).scheduler) {
    await (window as any).scheduler.yield();
  } else {
    await new Promise((resolve) => setTimeout(resolve, 0));
  }
}