Publicado em: 17/03/2025

Au 18 - Front-end - React - Finalizando e dicas de estudo - Mestres BEGIN


Neste último vídeo do curso, resolvemos problemas pendentes, discutimos melhorias e exploramos conceitos avançados para levar nossa aplicação React para o próximo nível.

Correção de Erros Comuns

Resolvemos dois problemas importantes:

  1. Chaves únicas em listas:

    Corrigimos o warning sobre keys em listas React, substituindo o uso de índices por IDs únicos dos produtos:

    1// Antes (errado) 
    2{products.map((product, index) => (
    3<TableRow key={index}>...</TableRow>
    4))}
    5// Depois (correto)
    6{products.map((product) => (
    7<TableRow key={product._id}>...</TableRow>
    8))}
  2. Estrutura semântica de tabelas:

    Implementamos a estrutura correta de tabelas HTML com thead, tbody e tfoot.

Desafios Propostos

Deixamos como desafio para você implementar:

  • Componente de lista vazia (quando não há produtos)
  • Funcionalidade completa de produtos excluídos (com filtro)

Esses desafios consolidarão todo o conhecimento adquirido no curso.

Melhorias de Arquitetura

Discutimos três abordagens para melhorar nossa aplicação:

1. Gerenciamento de Estado Avançado

  • React Context: Para compartilhar estado entre componentes sem prop drilling
  • Redux/Redux Toolkit: Para gerenciamento de estado global mais robusto

2. Otimização de Requisições

Implementar optimistic updates para melhorar a experiência do usuário:

1// Exemplo de optimistic update
2const [products, setProducts] = useState([]);
3const handleAddProduct = async (newProduct) => {
4  const tempId = Date.now(); // ID temporário
5  setProducts([...products, {...newProduct, _id: tempId}]);
6  try {
7    const {data} = await api.post("/products", newProduct);
8 // Substitui o produto temporário pelo real
9    setProducts(products.map(p => p._id === tempId ? data : p));
10  } catch (error) {
11    // Reverte se der erro
12    setProducts(products.filter(p => p._id !== tempId));
13  }
14}

3. Gerenciamento de Cache

  • React Query ou RTK Query para cache automático de dados
  • Atualização automática de dados em background
  • Gerenciamento simplificado de loading e error states

Próximos Passos no Aprendizado

Recomendações para continuar seu desenvolvimento:

  1. Aprofundar em gerenciamento de estado (Context API, Redux)
  2. Estudar React Query para gerenciamento de dados
  3. Explorar técnicas de otimização (memoização, lazy loading)
  4. Praticar testes automatizados (Jest, React Testing Library)
  5. Aprender sobre renderização no servidor (Next.js)

Considerações Finais

Este curso cobriu desde os fundamentos até conceitos avançados de React. Algumas lições importantes:

  • Componentização é a chave para aplicações React escaláveis
  • Gerenciamento de estado eficiente evita muitos problemas
  • Otimização de requisições melhora significativamente a UX
  • TypeScript traz segurança e documentação ao código
  • Boas práticas de estruturação economizam tempo no longo prazo

Continue praticando, explorando os desafios propostos e aprofundando nos tópicos sugeridos. O ecossistema React está em constante evolução - mantenha-se atualizado!

Fernando Cunha
Artigo deFernando Cunha

Com mais de 15 anos de experiência em tecnologia e formado pela FAAP em Administração de empresas, hoje é o CEO da Mestres da Web, empresa referência no mercado nacional e com projeções de expansão internacional.

últimos vídeos

veja nossos vídeos mais recentes e esteja por dentro de muitas novidades.

Au 02 - Front-end - React - Estrutura de projeto - Mestres BEGIN
play

Au 02 - Front-end - React - Estrutura de projeto - Mestres BEGIN

Explorando a estrutura gerada pelo Create React App, entendendo o papel das pastas public e src, os conceitos de Virtual DOM, JSX e componentes, além de como o CSS é aplicado nos projetos React.

Autor deste artigo
Fernando Cunha17/03/2025
Au 03 - Front-end - React - Criando layout da nossa aplicação - Mestres BEGIN
play

Au 03 - Front-end - React - Criando layout da nossa aplicação - Mestres BEGIN

Explorando a criação de um layout fixo para a aplicação React, com barra lateral, barra superior e área dinâmica para conteúdo. Utilizando o React Router Dom v6 para gerenciar navegação entre rotas.

Autor deste artigo
Fernando Cunha17/03/2025
Au 04 - Front-end - React - Estilizando o layout da aplicação - Mestres BEGIN
play

Au 04 - Front-end - React - Estilizando o layout da aplicação - Mestres BEGIN

Abordando técnicas para organizar estilos em React, utilizando seletores CSS, CSS Modules, integração com React Router, reset CSS eficiente e boas práticas para garantir consistência visual e manutenibilidade.

Autor deste artigo
Fernando Cunha17/03/2025