Skip to content
Back to skills

React Best Practices

ASecurity

Diretrizes de otimização de desempenho para React e Next.js da Vercel Engineering. Esta skill deve ser utilizada ao escrever, revisar ou refatorar código React/Next.js para garantir padrões de desempenho ideal. Dispara em tarefas envolvendo componentes React, páginas Next.js, busca de dados, otimização de bundle ou melhorias de desempenho.

  • 11 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
developmentjavascriptgojavareactnextjsapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 19 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add artubss/SKILLS-CLAUDE-CODE --skill react-best-practices --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of React Best Practices?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for React Best Practices
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/artubss-react-best-practices/badge)](https://www.skillsdirectory.com/skills/artubss-react-best-practices)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: vercel-react-best-practices
description: Diretrizes de otimização de desempenho para React e Next.js da Vercel Engineering. Esta skill deve ser utilizada ao escrever, revisar ou refatorar código React/Next.js para garantir padrões de desempenho ideal. Dispara em tarefas envolvendo componentes React, páginas Next.js, busca de dados, otimização de bundle ou melhorias de desempenho.
---

# Vercel React Best Practices

Guia abrangente de otimização de desempenho para aplicações React e Next.js, mantido pela Vercel. Contém 45 regras distribuídas em 8 categorias, priorizadas por impacto para orientar refatoração automatizada e geração de código.

## Quando Aplicar

Consulte estas diretrizes quando:
- Escrever novos componentes React ou páginas Next.js
- Implementar busca de dados (lado do cliente ou servidor)
- Revisar código quanto a problemas de desempenho
- Refatorar código React/Next.js existente
- Otimizar tamanho de bundle ou tempos de carregamento

## Categorias de Regras por Prioridade

| Prioridade | Categoria | Impacto | Prefixo |
|----------|----------|--------|--------|
| 1 | Eliminando Waterfalls | CRÍTICO | `async-` |
| 2 | Otimização de Bundle | CRÍTICO | `bundle-` |
| 3 | Desempenho do Lado do Servidor | ALTO | `server-` |
| 4 | Busca de Dados do Lado do Cliente | MÉDIO-ALTO | `client-` |
| 5 | Otimização de Re-render | MÉDIO | `rerender-` |
| 6 | Desempenho de Renderização | MÉDIO | `rendering-` |
| 7 | Desempenho de JavaScript | BAIXO-MÉDIO | `js-` |
| 8 | Padrões Avançados | BAIXO | `advanced-` |

## Referência Rápida

### 1. Eliminando Waterfalls (CRÍTICO)

- `async-defer-await` - Mova await para ramificações onde realmente é usado
- `async-parallel` - Use Promise.all() para operações independentes
- `async-dependencies` - Use better-all para dependências parciais
- `async-api-routes` - Inicie promises cedo, await tarde em rotas de API
- `async-suspense-boundaries` - Use Suspense para fazer stream de conteúdo

### 2. Otimização de Bundle (CRÍTICO)

- `bundle-barrel-imports` - Importe diretamente, evite barrel files
- `bundle-dynamic-imports` - Use next/dynamic para componentes pesados
- `bundle-defer-third-party` - Carregue analytics/logging após hidratação
- `bundle-conditional` - Carregue módulos apenas quando o recurso é ativado
- `bundle-preload` - Pré-carregue ao passar mouse/foco para velocidade percebida

### 3. Desempenho do Lado do Servidor (ALTO)

- `server-cache-react` - Use React.cache() para deduplicação por requisição
- `server-cache-lru` - Use cache LRU para cache entre requisições
- `server-serialization` - Minimize dados passados para componentes cliente
- `server-parallel-fetching` - Reestruture componentes para paralelizar buscas
- `server-after-nonblocking` - Use after() para operações não-bloqueantes

### 4. Busca de Dados do Lado do Cliente (MÉDIO-ALTO)

- `client-swr-dedup` - Use SWR para deduplicação automática de requisições
- `client-event-listeners` - Deduplicar event listeners globais

### 5. Otimização de Re-render (MÉDIO)

- `rerender-defer-reads` - Não se inscreva em estado usado apenas em callbacks
- `rerender-memo` - Extraia trabalho caro em componentes memoizados
- `rerender-dependencies` - Use dependências primitivas em effects
- `rerender-derived-state` - Inscreva-se em booleanos derivados, não valores brutos
- `rerender-functional-setstate` - Use setState funcional para callbacks estáveis
- `rerender-lazy-state-init` - Passe função para useState em valores caros
- `rerender-transitions` - Use startTransition para atualizações não-urgentes

### 6. Desempenho de Renderização (MÉDIO)

- `rendering-animate-svg-wrapper` - Anime div wrapper, não elemento SVG
- `rendering-content-visibility` - Use content-visibility para listas longas
- `rendering-hoist-jsx` - Extraia JSX estático fora de componentes
- `rendering-svg-precision` - Reduza precisão de coordenadas SVG
- `rendering-hydration-no-flicker` - Use script inline para dados apenas do cliente
- `rendering-activity` - Use componente Activity para mostrar/ocultar
- `rendering-conditional-render` - Use ternário, não && para condicionais

### 7. Desempenho de JavaScript (BAIXO-MÉDIO)

- `js-batch-dom-css` - Agrupe mudanças CSS via classes ou cssText
- `js-index-maps` - Construa Map para buscas repetidas
- `js-cache-property-access` - Cache propriedades de objeto em loops
- `js-cache-function-results` - Cache resultados de função em Map em nível de módulo
- `js-cache-storage` - Cache leituras de localStorage/sessionStorage
- `js-combine-iterations` - Combine múltiplos filter/map em um loop
- `js-length-check-first` - Verifique comprimento do array antes de comparação cara
- `js-early-exit` - Retorne cedo de funções
- `js-hoist-regexp` - Extraia criação de RegExp fora de loops
- `js-min-max-loop` - Use loop para min/max em vez de sort
- `js-set-map-lookups` - Use Set/Map para buscas O(1)
- `js-tosorted-immutable` - Use toSorted() para imutabilidade

### 8. Padrões Avançados (BAIXO)

- `advanced-event-handler-refs` - Armazene event handlers em refs
- `advanced-use-latest` - useLatest para refs de callback estáveis

## Como Usar

Leia arquivos de regra individuais para explicações detalhadas e exemplos de código:

```
rules/async-parallel.md
rules/bundle-barrel-imports.md
rules/_sections.md
```

Cada arquivo de regra contém:
- Breve explicação de por que importa
- Exemplo de código incorreto com explicação
- Exemplo de código correto com explicação
- Contexto adicional e referências

## Documento Compilado Completo

Para o guia completo com todas as regras expandidas: `AGENTS.md`

Files in this skill

  • AGENTS.md59.1 KB
  • README.md3.3 KB
  • SKILL.md5.6 KB
  • rules/_sections.md1.5 KB
  • rules/_template.md631 B
  • rules/advanced-event-handler-refs.md1.4 KB
  • rules/advanced-use-latest.md1.2 KB
  • rules/async-api-routes.md1.1 KB
  • rules/async-defer-await.md2 KB
  • rules/async-dependencies.md942 B
  • rules/async-parallel.md654 B
  • rules/async-suspense-boundaries.md2.5 KB
  • rules/bundle-barrel-imports.md2.3 KB
  • rules/bundle-conditional.md866 B
  • rules/bundle-defer-third-party.md920 B
  • rules/bundle-dynamic-imports.md791 B
  • rules/bundle-preload.md1.1 KB
  • rules/client-event-listeners.md1.9 KB
  • rules/client-swr-dedup.md1.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in development →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.