vercel-react-best-practices
Optimizar el rendimiento de React y Next.js
También disponible en: am-will,vercel-labs,ZhanlinCui
Construye aplicaciones React y Next.js más rápidas con patrones de rendimiento probados. Esta habilidad proporciona directrices prácticas de Vercel Engineering para eliminar waterfalls, reducir el tamaño del bundle y optimizar el renderizado.
Descargar el ZIP de la skill
Subir en Claude
Ve a Configuración → Capacidades → Skills → Subir skill
Activa y empieza a usar
Pruébalo
Usando "vercel-react-best-practices". Componente con useEffect fetches secuenciales
Resultado esperado:
Problema: Tres hooks useEffect obtienen datos secuencialmente, causando render waterfall. Solución: Combina las obtenciónes en un solo useEffect con Promise.all() o convierte el componente padre a server component.
Usando "vercel-react-best-practices". Sentencia import que importa toda la librería lodash
Resultado esperado:
Problema: import _ from lodash añade 72KB al bundle. Solución: Usa imports que permitan tree-shaking como import debounce from lodash/debounce o cambia a lodash-es para mejor optimización del bundler.
Usando "vercel-react-best-practices". Componente recalculando valor costoso en cada renderizado
Resultado esperado:
Problema: El cálculo costoso se ejecuta en cada renderizado. Solución: Envuélvelo en useMemo con dependencias adecuadas, o extráelo a un componente separado memoizado que solo se re-renderice cuando sus entradas cambien.
Auditoría de seguridad
SeguroStatic analysis detected 911 pattern matches across 51 files (4901 lines), but all findings are FALSE POSITIVES. The skill is a documentation-only repository containing React/Next.js performance optimization guidelines in markdown format. Detected patterns (shell commands, dynamic imports, fetch calls, storage access) exist solely as code examples within documentation, not as executable code. No actual security risks identified.
Puntuación de calidad
Lo que puedes crear
Construyendo nuevas funcionalidades en React
Los desarrolladores de React que construyen nuevas funcionalidades escriben componentes con rendimiento óptimo desde el inicio, siguiendo patrones aprobados por Vercel para obtención de datos, renderizado y optimización del bundle
Revisando pull requests
Los equipos que revisan pull requests revisan el código en busca de antipatrones de rendimiento antes de fusionar, detectando waterfalls, re-renderizados innecesarios y bloat del bundle tempranamente en el desarrollo
Migrando a Next.js App Router
Los ingenieros que migran a Next.js App Router convierten patrones del lado del cliente a arquitectura de server component, aprendiendo el uso adecuado de caché del servidor, límites de serialización y obtención de datos paralela
Prueba estos prompts
Revisa este componente de React en busca de problemas de rendimiento. Identifica cualquier render waterfall, re-renderizados innecesarios u oportunidades de optimización del bundle. Sugiere mejoras específicas basadas en las mejores prácticas de Vercel.
Este componente obtiene datos secuencialmente. Refactorízalo para obtenerlos en paralelo usando Promise.all() o restructúralo como server components. Explica qué enfoque es mejor para este caso de uso.
Analiza la obtención de datos de este server component. Recomienda una estrategia de caché usando React.cache() para deduplicación por solicitud o caché LRU para optimización entre solicitudes. Incluye consideraciones de invalidación de caché.
Diseña un dashboard con más de 10 widgets mostrando datos en tiempo real e históricos. Especifica: 1) Límites entre server y client components, 2) Estrategia de obtención y caché de datos, 3) Estados de carga con Suspense, 4) Optimización del bundle para librerías de gráficos de terceros.
Mejores prácticas
- Inicia promesas temprano y awaits tarde - inicia la obtención de datos antes de que sea necesario, difiere el await hasta que el valor se requiera
- Usa server components por defecto - solo añade 'use client' cuando se requieren APIs del navegador o interactividad
- Prefiere SWR o React Query para obtención de datos del cliente - caché integrado, deduplicación y revalidación
Evitar
- Obtención de datos secuencial en hooks useEffect separados - causa render waterfalls
- Importar librerías de utilidades completas - bundles inflados, usa imports específicos en su lugar
- Usar && para renderizado condicional de componentes que renderizan '0' - usa operador ternario
Preguntas frecuentes
¿Cuándo debo usar server components vs client components?
¿Cómo corrijo render waterfalls en mis componentes?
¿Cuál es la diferencia entre React.cache() y caché LRU?
¿Cómo puedo reducir el tamaño del bundle de Next.js?
¿Por qué SWR ayuda con la obtención de datos del lado del cliente?
¿Cuándo debo usar startTransition?
Detalles del desarrollador
Autor
sickn33Licencia
MIT
Repositorio
https://github.com/sickn33/antigravity-awesome-skills/tree/main/web-app/public/skills/react-best-practicesRef.
main
Estructura de archivos