Facebook Pixel
Searching...
Português
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
Learning React

Learning React

Functional Web Development with React and Redux
por Alex Banks 2017 350 páginas
4.05
500+ avaliações
Ouvir
Listen to Summary

Principais conclusões

1. O React simplifica o desenvolvimento de interfaces com componentes reutilizáveis.

O objetivo deste livro é evitar confusões no processo de aprendizagem, organizando as informações em uma sequência: um roteiro de aprendizado.

Arquitetura baseada em componentes. A principal força do React reside em sua arquitetura baseada em componentes, que permite aos desenvolvedores dividir interfaces complexas em partes menores, gerenciáveis e reutilizáveis. Esses componentes encapsulam tanto a estrutura (HTML) quanto o comportamento (JavaScript) de um elemento da interface, facilitando a compreensão e a manutenção.

Benefícios da reutilização. Componentes reutilizáveis promovem a eficiência do código, reduzem a redundância e melhoram a consistência em toda a aplicação. Ao criar uma biblioteca de componentes bem definidos, os desenvolvedores podem montar rapidamente interfaces complexas com mínimo esforço. Por exemplo, um componente de botão pode ser utilizado em toda a aplicação com diferentes estilos e funcionalidades, garantindo uma experiência do usuário consistente.

Escalabilidade e manutenibilidade. A abordagem baseada em componentes também melhora a escalabilidade e a manutenibilidade das aplicações React. Quando são necessárias mudanças, os desenvolvedores podem se concentrar em modificar componentes individuais sem afetar toda a aplicação. Essa modularidade facilita a adição de novas funcionalidades, a correção de bugs e a refatoração do código.

2. JSX oferece uma sintaxe concisa para criar elementos React.

Sim, no React, você escreve código que se parece com HTML diretamente no seu código JavaScript.

Sintaxe baseada em tags. JSX (JavaScript XML) é uma extensão de sintaxe que permite aos desenvolvedores escrever código semelhante ao HTML diretamente em seus arquivos JavaScript. Isso proporciona uma maneira mais intuitiva e legível de definir elementos React, facilitando a visualização da estrutura da interface.

Benefícios do JSX:

  • Leitura aprimorada: O código JSX é mais fácil de entender e manter em comparação ao código JavaScript puro para criar elementos React.
  • Sintaxe concisa: O JSX reduz a quantidade de código necessária para definir elementos da interface, tornando o desenvolvimento mais rápido e eficiente.
  • Familiaridade: O JSX se assemelha ao HTML, facilitando o aprendizado e o uso para desenvolvedores com experiência em desenvolvimento web.

Transformação Babel. O código JSX não é compreendido diretamente pelos navegadores. Ele precisa ser transformado em código JavaScript padrão usando uma ferramenta como o Babel. Esse processo de transformação converte as tags JSX em chamadas React.createElement(), que o navegador pode então interpretar e renderizar.

3. A programação funcional melhora a legibilidade e testabilidade do código React.

Um efeito colateral interessante de trabalhar com o React é que isso pode torná-lo um desenvolvedor JavaScript mais forte, promovendo padrões que são legíveis, reutilizáveis e testáveis.

Ênfase em funções puras. Os princípios da programação funcional, como a imutabilidade e as funções puras, se alinham bem com a arquitetura baseada em componentes do React. Funções puras, que sempre retornam a mesma saída para uma determinada entrada e não têm efeitos colaterais, tornam o código mais previsível e mais fácil de testar.

Benefícios da programação funcional no React:

  • Leitura aprimorada: O código funcional tende a ser mais conciso e mais fácil de entender.
  • Testabilidade aprimorada: Funções puras são naturalmente testáveis, pois sua saída é determinada exclusivamente pela sua entrada.
  • Reutilização aumentada: Componentes funcionais podem ser facilmente compostos e reutilizados em toda a aplicação.

Transformações de dados. A programação funcional enfatiza a transformação de dados de uma forma para outra usando funções. Essa abordagem promove a imutabilidade e evita a modificação direta dos dados, levando a um código mais previsível e manutenível.

4. Hooks permitem gerenciamento de estado e efeitos colaterais em componentes funcionais.

Mais recentemente, em 2019, vimos o lançamento dos Hooks, uma nova maneira de adicionar e compartilhar lógica com estado entre componentes.

Estado e efeitos colaterais. Os Hooks são um recurso no React que permite que componentes funcionais gerenciem estado e realizem efeitos colaterais, que anteriormente eram possíveis apenas em componentes de classe. Isso simplifica a lógica dos componentes e promove a reutilização do código.

Hooks comumente usados:

  • useState: Gerencia o estado do componente.
  • useEffect: Realiza efeitos colaterais, como busca de dados ou manipulação do DOM.
  • useContext: Acessa valores do contexto do React.
  • useRef: Cria referências persistentes a elementos do DOM ou valores.

Hooks personalizados. Hooks personalizados permitem que os desenvolvedores extraiam e reutilizem lógica com estado entre múltiplos componentes. Isso promove a modularidade do código e reduz a redundância. Por exemplo, um Hook personalizado pode ser criado para lidar com validação de entrada de formulários ou busca de dados, e depois reutilizado em diferentes componentes que requerem funcionalidade semelhante.

5. O React Router facilita a navegação em aplicações de página única.

Afinal, o React foi apresentado como uma biblioteca: preocupada em implementar um conjunto específico de funcionalidades, e não em fornecer uma ferramenta para cada caso de uso.

Roteamento do lado do cliente. O React Router é uma biblioteca que habilita o roteamento do lado do cliente em aplicações de página única (SPAs). Ele permite que os desenvolvedores definam rotas que mapeiam URLs para componentes específicos, proporcionando uma experiência de navegação contínua sem a necessidade de recarregar a página inteira.

Componentes principais do React Router:

  • BrowserRouter: Fornece o contexto de roteamento para a aplicação.
  • Route: Define um mapeamento entre um caminho de URL e um componente.
  • Link: Cria links de navegação que atualizam a URL sem acionar um recarregamento completo da página.
  • useParams: Acessa parâmetros da URL atual.

Roteamento dinâmico. O React Router suporta roteamento dinâmico, que permite que os desenvolvedores definam rotas com parâmetros que podem ser usados para passar dados para os componentes. Isso é útil para criar interfaces dinâmicas que exibem conteúdo diferente com base na URL.

6. Testes garantem a confiabilidade dos componentes React e a qualidade do código.

Um efeito colateral interessante de trabalhar com o React é que isso pode torná-lo um desenvolvedor JavaScript mais forte, promovendo padrões que são legíveis, reutilizáveis e testáveis.

Importância dos testes. Os testes são um aspecto crucial do desenvolvimento de software que garante a confiabilidade e a qualidade dos componentes React. Testes unitários verificam se componentes individuais funcionam como esperado, enquanto testes de integração garantem que diferentes partes da aplicação funcionem juntas de forma harmoniosa.

Frameworks de teste populares:

  • Jest: Um framework de teste JavaScript que vem pré-configurado com o Create React App.
  • React Testing Library: Uma biblioteca que fornece utilitários para testar componentes React de uma maneira centrada no usuário.
  • Enzyme: Uma utilidade de teste JavaScript para React que facilita a afirmação, manipulação e navegação na saída dos seus componentes React.

Desenvolvimento Orientado a Testes (TDD). TDD é uma prática de desenvolvimento onde os testes são escritos antes do código. Essa abordagem ajuda os desenvolvedores a esclarecer requisitos, projetar um código melhor e garantir que toda a funcionalidade seja testada de forma abrangente.

7. Estratégias de busca de dados são cruciais para aplicações React dinâmicas.

Com a web moderna, precisamos realizar tarefas assíncronas.

Operações assíncronas. Aplicações web modernas frequentemente precisam buscar dados de APIs externas ou realizar outras operações assíncronas. O React fornece várias técnicas para lidar com essas operações, incluindo:

Técnicas de busca de dados:

  • Fetch API: Uma API JavaScript embutida para fazer requisições HTTP.
  • Axios: Uma biblioteca de terceiros popular para fazer requisições HTTP.
  • useEffect Hook: Usado para realizar efeitos colaterais, como busca de dados, em componentes funcionais.

Gerenciamento de estados de carregamento e erro. Ao buscar dados, é importante lidar com estados de carregamento e erro de forma adequada. Isso pode ser alcançado usando variáveis de estado para rastrear o status da requisição e renderizando elementos de interface apropriados com base no estado atual.

8. Suspense lida com operações assíncronas para uma melhor experiência do usuário.

Mais recentemente, em 2019, vimos o lançamento dos Hooks, uma nova maneira de adicionar e compartilhar lógica com estado entre componentes.

Busca de dados declarativa. O Suspense é um recurso do React que permite que os desenvolvedores especifiquem de forma declarativa como lidar com operações assíncronas, como busca de dados. Ele fornece uma maneira de suspender a renderização até que os dados estejam disponíveis, melhorando a experiência do usuário ao prevenir piscadas ou interfaces incompletas.

Componentes principais do Suspense:

  • Componente Suspense: Envolve componentes que podem suspender a renderização.
  • Prop fallback: Especifica a interface a ser renderizada enquanto o componente está suspenso.
  • Função lazy: Usada para carregar componentes de forma assíncrona.

Limites de erro. Limites de erro são componentes que podem capturar erros JavaScript em qualquer lugar na árvore de componentes filhos, registrar esses erros e exibir uma interface de fallback. Eles fornecem uma maneira de evitar que erros derrubem toda a aplicação e melhoram a experiência do usuário ao fornecer mensagens de erro informativas.

9. O Webpack otimiza aplicações React para produção.

Como exemplo, vamos olhar para uma função de seta com alguns argumentos padrão:

Empacotamento de módulos. O Webpack é um empacotador de módulos que pega todos os diferentes arquivos em um projeto JavaScript (JavaScript, CSS, imagens, etc.) e os transforma em um único arquivo ou um conjunto de arquivos que podem ser implantados em um servidor web.

Benefícios do Webpack:

  • Divisão de código: Divide o código em pedaços menores que podem ser carregados sob demanda, melhorando o tempo de carregamento inicial.
  • Minificação: Remove caracteres desnecessários do código, reduzindo o tamanho do arquivo.
  • Otimização de ativos: Otimiza imagens e outros ativos para melhorar o desempenho.
  • Substituição de Módulo Quente (HMR): Permite que os desenvolvedores vejam mudanças no código sem atualizar a página.

Loaders e plug-ins. O Webpack usa loaders para transformar diferentes tipos de arquivos e plug-ins para realizar tarefas adicionais, como minificação e divisão de código.

10. O ESLint e o Prettier mantêm a consistência e legibilidade do código.

Muitos dos recursos que estão incluídos na sintaxe mais recente do JavaScript estão presentes porque apoiam técnicas de programação funcional.

Linting de código. O ESLint é uma ferramenta que analisa o código JavaScript em busca de erros potenciais, violações de estilo e outros problemas. Ele ajuda os desenvolvedores a manter a qualidade e a consistência do código, aplicando padrões de codificação.

Formatação de código. O Prettier é um formatador de código opinativo que formata automaticamente o código de acordo com um conjunto de regras predefinidas. Ele ajuda os desenvolvedores a manter a legibilidade e a consistência do código, eliminando debates sobre estilo de código.

Benefícios do ESLint e do Prettier:

  • Qualidade de código aprimorada: O ESLint ajuda a identificar erros potenciais e a aplicar padrões de codificação.
  • Leitura aumentada: O Prettier garante que o código seja formatado de maneira consistente, facilitando a leitura e compreensão.
  • Redução do tempo de revisão de código: Ao automatizar a formatação e o linting do código, o ESLint e o Prettier reduzem o tempo gasto em revisões de código.

Última atualização:

Avaliações

4.05 de 5
Média de 500+ avaliações do Goodreads e da Amazon.

Aprendendo React recebe principalmente críticas positivas, com uma classificação média de 4,06 em 5. Os leitores apreciam a sua cobertura abrangente dos conceitos de React, incluindo programação funcional, hooks e Redux. O livro é elogiado pelas suas explicações claras e exemplos práticos. Algumas críticas incluem informações desatualizadas, erros de código e dificuldade em seguir os exemplos. Vários revisores recomendam-no para iniciantes, enquanto outros sugerem que é mais adequado para aqueles que já têm alguma experiência com React. No geral, é considerado uma introdução sólida ao React, embora alguns prefiram a documentação oficial para informações mais atualizadas.

Sobre o autor

Alex Banks é uma autora que se descreve como possuidora de um "cinturão negro em incrível" devido ao seu talento para a escrita. Ela vive em Utah com a sua família, que inclui o marido e dois filhos. Banks também divide sua casa com uma variedade diversificada de animais de estimação: um gato, um cachorro e quatro tartarugas. Com humor, ela atribui descrições inspiradas em artes marciais aos membros da sua família e aos seus pets, chamando o marido de "chutador," os filhos de "sparring," o gato de "ninja," o cachorro de "samurai," e as tartarugas de "zen." Essa caracterização divertida sugere um lar animado e cheio de imaginação.

0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Create a free account to unlock:
Requests: Request new book summaries
Bookmarks: Save your favorite books
History: Revisit books later
Recommendations: Get personalized suggestions
Ratings: Rate books & see your ratings
Try Full Access for 7 Days
Listen, bookmark, and more
Compare Features Free Pro
📖 Read Summaries
All summaries are free to read in 40 languages
🎧 Listen to Summaries
Listen to unlimited summaries in 40 languages
❤️ Unlimited Bookmarks
Free users are limited to 10
📜 Unlimited History
Free users are limited to 10
Risk-Free Timeline
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on Mar 22,
cancel anytime before.
Consume 2.8x More Books
2.8x more books Listening Reading
Our users love us
100,000+ readers
"...I can 10x the number of books I can read..."
"...exceptionally accurate, engaging, and beautifully presented..."
"...better than any amazon review when I'm making a book-buying decision..."
Save 62%
Yearly
$119.88 $44.99/year
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Settings
Appearance
Black Friday Sale 🎉
$20 off Lifetime Access
$79.99 $59.99
Upgrade Now →