react18-legacy-context
Fornece o padrão completo para migrar o contexto legado do React para a API moderna. Ajuda a atualizar provedores e consumidores de contexto.
O que ela faz
Esta ferramenta ajuda a atualizar um código antigo do React para usar um sistema mais novo chamado 'createContext'. Ela guia você na substituição de partes desatualizadas do código que lidam com compartilhamento de dados entre componentes.
Quando usar
- ✓Quando você vê avisos sobre 'contextTypes' ou 'getChildContext' no seu código React.
- ✓Ao atualizar um aplicativo React para versões mais recentes (React 18 ou superior).
- ✓Antes de modificar qualquer código relacionado ao compartilhamento de dados entre componentes React antigos.
Exemplo do que pedir para a IA
“Como eu atualizo o sistema de contexto antigo do React para o novo 'createContext'?”
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
A ferramenta identifica onde os dados são compartilhados (provedores) e onde são usados (consumidores). Em seguida, ela fornece um plano passo a passo para criar um novo arquivo de contexto e atualizar tanto os provedores quanto todos os consumidores para usar a nova API.
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 github/awesome-copilot --skill react18-legacy-contextOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/react18-legacy-context/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.
Migração de Contexto Legado do React 18
O contexto legado (contextTypes, childContextTypes, getChildContext) foi depreciado no React 16.3 e emite um aviso no React 18.3.1. Ele é removido no React 19.
Esta é Sempre uma Migração Entre Arquivos
Ao contrário da maioria das outras migrações que afetam um arquivo por vez, a migração de contexto exige coordenação:
- Crie o objeto de contexto (geralmente um novo arquivo)
- Atualize o componente provedor
- Atualize cada componente consumidor
Se faltar algum consumidor, o aplicativo ficará quebrado – ele lerá do contexto errado ou receberá undefined.
Passos da Migração (Siga Sempre Esta Ordem)
Step 1: Find the provider (childContextTypes + getChildContext)
Step 2: Find ALL consumers (contextTypes)
Step 3: Create the context file
Step 4: Update the provider
Step 5: Update each consumer (class components → contextType, function components → useContext)
Step 6: Verify - run the app, check no legacy context warnings remain
Comandos de Busca
# Find all providers
grep -rn "childContextTypes\|getChildContext" src/ --include="*.js" --include="*.jsx" | grep -v "\.test\."
# Find all consumers
grep -rn "contextTypes\s*=" src/ --include="*.js" --include="*.jsx" | grep -v "\.test\."
# Find this.context usage (may be legacy or modern - check which)
grep -rn "this\.context\." src/ --include="*.js" --include="*.jsx" | grep -v "\.test\."
Arquivos de Referência
references/single-context.md- migração completa para um contexto (tema, autenticação, etc.) com provedor + consumidor de classe + consumidor de funçãoreferences/multi-context.md- aplicativos com múltiplos contextos legados (provedores aninhados, múltiplos consumidores de contextos diferentes)references/context-file-template.md- a estrutura de arquivos padrão para um novo módulo de contexto
Perguntas frequentes
O que são 'contextTypes', 'childContextTypes' e 'getChildContext'?
São maneiras antigas no React de compartilhar dados entre componentes. Elas foram substituídas por uma forma mais moderna e flexível chamada 'createContext'.
Por que preciso atualizar todos os consumidores?
Se você não atualizar todos os lugares que usam os dados antigos, seu aplicativo pode parar de funcionar corretamente ou mostrar informações incorretas.
O que é um 'provedor' e um 'consumidor'?
O 'provedor' é o componente que fornece os dados. Os 'consumidores' são os componentes que recebem e usam esses dados.
Detalhes
Descrição original do autor
Provides the complete migration pattern for React legacy context API (contextTypes, childContextTypes, getChildContext) to the modern createContext API. Use this skill whenever migrating legacy context in class components - this is always a cross-file migration requiring the provider AND all consumers to be updated together. Use it before touching any contextTypes or childContextTypes code, becaus
repo: github/awesome-copilot
Popularidade
- Estrelas no GitHub
- 40 mil
- Posição no ranking
- #5329
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
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