react-best-practices
Ajuda seu agente a otimizar o desempenho de aplicações React e Next.js. Garante que o código seja rápido e eficiente, melhorando a experiência do usuário.
O que ela faz
Este guia ajuda a otimizar o desempenho de sites feitos com React e Next.js. Ele oferece regras e exemplos para tornar seu código mais rápido e eficiente.
Quando usar
- ✓Ao criar novas partes do seu site (componentes React ou páginas Next.js).
- ✓Ao buscar informações para mostrar no site (seja no navegador ou no servidor).
- ✓Ao revisar o código para encontrar e corrigir problemas de lentidão.
Exemplo do que pedir para a IA
“Como posso otimizar a velocidade de carregamento das minhas páginas Next.js?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ele funciona como um manual com 45 regras divididas em 8 categorias. Cada regra explica um problema comum de desempenho e como corrigi-lo com exemplos de código.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill react-best-practicesOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/react-best-practices/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Melhores Práticas do React na Vercel
Guia abrangente de otimização de performance para aplicações React e Next.js, mantido pela Vercel. Contém 45 regras divididas em 8 categorias, priorizadas pelo impacto para guiar refatoração automatizada e geração de código.
Quando Usar
Consulte estas diretrizes quando:
- Escrever novos componentes React ou páginas Next.js
- Implementar busca de dados (lado do cliente ou do servidor)
- Revisar código em busca de problemas de performance
- Refatorar código React/Next.js existente
- Otimizar o tamanho do bundle ou tempos de carregamento
Categorias de Regras por Prioridade
| Prioridade | Categoria | Impacto | Prefixo |
|---|---|---|---|
| 1 | Eliminação de Cascata (Waterfalls) | CRÍTICO | async- |
| 2 | Otimização do Tamanho do Bundle | CRÍTICO | bundle- |
| 3 | Performance do Lado do Servidor | ALTO | server- |
| 4 | Busca de Dados do Lado do Cliente | MÉDIO-ALTO | client- |
| 5 | Otimização de Re-renderização | MÉDIO | rerender- |
| 6 | Performance de Renderização | MÉDIO | rendering- |
| 7 | Performance de JavaScript | BAIXO-MÉDIO | js- |
| 8 | Padrões Avançados | BAIXO | advanced- |
Referência Rápida
1. Eliminação de Cascata (Waterfalls) (CRÍTICO)
async-defer-await- Movaawaitpara branches onde é realmente usadoasync-parallel- UsePromise.all()para operações independentesasync-dependencies- Usebetter-allpara dependências parciaisasync-api-routes- Inicie promises cedo, aguarde tarde em rotas de APIasync-suspense-boundaries- Use Suspense para transmitir conteúdo
2. Otimização do Tamanho do Bundle (CRÍTICO)
bundle-barrel-imports- Importe diretamente, evite arquivos "barrel"bundle-dynamic-imports- Usenext/dynamicpara componentes pesadosbundle-defer-third-party- Carregue analytics/logging após a hidrataçãobundle-conditional- Carregue módulos apenas quando a funcionalidade for ativadabundle-preload- Pré-carregue ao passar o mouse/focar para velocidade percebida
3. Performance do Lado do Servidor (ALTO)
server-cache-react- UseReact.cache()para deduplicação por requisiçãoserver-cache-lru- Use cache LRU para cache entre requisiçõesserver-serialization- Minimize dados passados para componentes do clienteserver-parallel-fetching- Reestruture componentes para paralelizar buscasserver-after-nonblocking- Useafter()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çõesclient-event-listeners- Deduplique listeners de eventos globais
5. Otimização de Re-renderização (MÉDIO)
rerender-defer-reads- Não se inscreva em estado usado apenas em callbacksrerender-memo- Extraia trabalho custoso para componentes memoizadosrerender-dependencies- Use dependências primitivas em efeitosrerender-derived-state- Inscreva-se em booleanos derivados, não em valores brutosrerender-functional-setstate- UsesetStatefuncional para callbacks estáveisrerender-lazy-state-init- Passe função parauseStatepara valores custososrerender-transitions- UsestartTransitionpara atualizações não urgentes
6. Performance de Renderização (MÉDIO)
rendering-animate-svg-wrapper- Anime o wrapperdiv, não o elemento SVGrendering-content-visibility- Usecontent-visibilitypara listas longasrendering-hoist-jsx- Extraia JSX estático para fora dos componentesrendering-svg-precision- Reduza a precisão das coordenadas SVGrendering-hydration-no-flicker- Use script inline para dados apenas do clienterendering-activity- Use o componenteActivitypara mostrar/ocultarrendering-conditional-render- Use ternário, não&¶ condicionais
7. Performance de JavaScript (BAIXO-MÉDIO)
js-batch-dom-css- Agrupe mudanças de CSS via classes oucssTextjs-index-maps- ConstruaMappara buscas repetidasjs-cache-property-access- Armazene em cache propriedades de objetos em loopsjs-cache-function-results- Armazene em cache resultados de funções emMapno nível do módulojs-cache-storage- Armazene em cache leituras delocalStorage/sessionStoragejs-combine-iterations- Combine múltiplosfilter/mapem um único loopjs-length-check-first- Verifique o comprimento do array antes de comparações custosasjs-early-exit- Retorne cedo de funçõesjs-hoist-regexp- Eleve a criação de RegExp para fora dos loopsjs-min-max-loop- Use loop para min/max em vez desortjs-set-map-lookups- UseSet/Mappara buscas O(1)js-tosorted-immutable- UsetoSorted()para imutabilidade
8. Padrões Avançados (BAIXO)
advanced-event-handler-refs- Armazene manipuladores de eventos emrefsadvanced-use-latest- UseuseLatestpara refs de callback estáveis
Como Usar
…
Perguntas frequentes
O que são 'waterfalls' (cascatas) e por que devo me preocupar com elas?
Cascatas acontecem quando uma informação precisa esperar outra para carregar, criando um efeito dominó que atrasa o carregamento. O guia ensina a evitar isso.
Como o guia ajuda a reduzir o tamanho do 'pacote' do meu site?
Ele sugere maneiras de carregar apenas o código necessário, quando necessário, e evitar carregar coisas que não são usadas imediatamente, tornando o site mais leve.
O guia é só sobre código ou também sobre como pensar o desempenho?
É sobre os dois. Ele mostra como escrever o código de forma eficiente e também como pensar em otimizações desde o início do desenvolvimento.
Detalhes
Descrição original do autor
Comprehensive performance optimization guide for React and Next.js applications, maintained by Vercel. Use when writing new React components or Next.js pages, implementing data fetching (client or server-side), or reviewing code for performance issues.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3959
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
angular-developer
Ajuda seu agente a criar código Angular e a dar conselhos sobre a estrutura do projeto. É útil para iniciar novos projetos, criar partes do código ou melhorar a performance e acessibilidade.
affaan-m/ECC
frontend-a11y
Ajuda seu agente a tornar interfaces web acessíveis para todos. Ele garante que sites e apps funcionem bem com leitores de tela e navegação por teclado.
affaan-m/ECC
frontend-patterns
Faz seu agente aplicar padrões modernos no desenvolvimento frontend. Ele otimiza performance, gerencia estado e segue boas práticas em React e Next.js.
affaan-m/ECC