Componentes Inteligentes e Estúpidos em Angular

Diferentes tipos de componentes em Angular

Quando você começa a construir aplicativos com estruturas de IU como Angular e React, a primeira coisa que você vai enfrentar é o conceito de componentes. Os componentes podem parecer bastante simples, mas há muito mais do que aparenta. A estrutura de componentes divide a página em pedaços e ajuda a gerenciar sua página de uma maneira muito flexível, encapsulando todos os estilos, marcações e lógica de negócios em cada componente individual e, em seguida, mesclá-los para construir seu aplicativo.

Com isso dito, ao mergulhar nos componentes, você pode perguntar:

Existem diferentes tipos de componentes?

Sim, existem dois tipos ou melhor, conceitos de componentes.

  • Componentes Inteligentes
  • Componentes mudos

Componentes mudos

No mundo real, muitas vezes consideramos idiotas aquelas pessoas que não têm um propósito ou dependem de outras para seguir em frente ou conseguir as coisas. Isso é exatamente o que um Dumb Component é no mundo da programação também. Um componente que não faz absolutamente nada por conta própria e depende de componentes mais inteligentes.

Tudo o que o Dumb Components faz é se apresentar ao DOM. Portanto, eles também são chamados de “ Componentes de apresentação ” ou algo chamado de “ Componentes isolados ”.

import{ Component, Input, OnInit } from ‘@angular/core’;
@Component({
selector: ‘app-book-list’,
templateUrl: ‘./book-list.component.html’,
styleUrls: [‘./book-list.component.css’]
})
export class BookListComponent implements OnInit {
@Input(‘book’) book: any[];
constructor() { }
ngOnInit() {
}
}

<div class="books-list-container">
<h3>{{book.volumeInfo.title}}</h3>
<p>{{book.volumeInfo.authors[0]}}</p>
<p>{{book.description}}</p>
</div>

Componentes mais inteligentes

Componentes inteligentes são aqueles componentes que sabem como lidar com dados, como buscar dados de serviços, como interagir com serviços e controlar o estado e se preocupam com o funcionamento do aplicativo como um todo. Eles são chamados de contêineres, pois enviam dados para Dumb Components por meio de associações de propriedade.

import { Component, OnInit } from '@angular/core';
import { HttpClient, HttpHeaders} from '@angular/common/http';
import {map} from 'rxjs/operators';
import { Observable } from 'rxjs';
@Component({
selector: 'app-books',
templateUrl: './books.component.html',
styleUrls: ['./books.component.css']
})
export class BooksComponent implements OnInit {
private API_KEY:string = 'API_KEY';
book: Observable<any[]>;
constructor(private _http: HttpClient) { }
ngOnInit() {
const URL = 'https://www.googleapis.com/books/v1';
//Fetch All Books from API
//@Params = URL: String
this.fetchBooks(URL);
}
fetchBooks(URL: string){
this.book = this._http.get<any>(`${URL}/q=&key=${this.API_KEY}`,             {headers}).pipe(
   map(resp=>{
    return resp.items;
   });
 );
}}

<app-book-list [book]="book | async"></app-book-list>

Conclusão

Usando esses conceitos, separamos o código de lógica de negócios e o código de apresentação entre componentes inteligentes e burros. Este estagiário permite que um componente faça todo o trabalho pesado, enquanto os outros exibem os dados sem problemas.

É isso, espero que este post tenha ajudado a construir um pouco de compreensão desses conceitos, se não fosse não se esqueça de apertar o botão de gonorréia. Aqui está o link do Github para o código:

Você também pode ler meu outro artigo sobre o componente da Web, se quiser.

Um mergulho profundo nos componentes da Web

Finalmente! Obrigado por ler e boa codificação!

Suggested posts

A revolução sem código: liberando a prosperidade dos negócios com Webflow, Framer, Bubble.io,

A revolução sem código: liberando a prosperidade dos negócios com Webflow, Framer, Bubble.io,

Embarque em uma emocionante jornada de inovação e sucesso enquanto explora o potencial inexplorado dessas surpreendentes plataformas sem código. Deixe-me compartilhar uma história com você sobre Sapna, uma notável empresária.

Meus recursos de codificação mais usados

Meus recursos de codificação mais usados

Esta semana, recebi um e-mail de um membro da lista de e-mails diários. Eles queriam saber: quais recursos você visita diariamente, semanalmente e mensalmente? Ótima pergunta! Fico feliz em tentar compartilhar algumas ideias sobre meu fluxo de trabalho e os principais recursos que uso.

Related posts

A lenta erosão: revelando como as pessoas desperdiçam em suas carreiras

A lenta erosão: revelando como as pessoas desperdiçam em suas carreiras

No mundo acelerado e competitivo de hoje, a carreira desempenha um papel significativo no crescimento pessoal, na estabilidade financeira e na satisfação geral com a vida. No entanto, muitos indivíduos encontram-se presos em um ciclo implacável de estagnação e insatisfação, definhando gradualmente em suas vidas profissionais.

Repensando a mídia: as cinco verdades de McChesney e o futuro das comunicações

No mundo hiperconectado de hoje, os sistemas de mídia desempenham um papel fundamental na formação da opinião pública e, consequentemente, na tomada de decisões democráticas. Em sua análise profunda da economia política da comunicação, o estudioso Robert McChesney desafia a sabedoria convencional e apresenta o que chama de “cinco verdades” sobre a mídia.

Como Salvar o Planeta e Ganhar Dinheiro

Como Salvar o Planeta e Ganhar Dinheiro

Quantas vezes você jogou fora uma garrafa de plástico, uma jarra de vidro, uma lata de alumínio ou uma embalagem de energia verde sem pensar duas vezes? Quantas vezes você desejou receber algo em troca de reciclá-los? Se você for como a maioria das pessoas, a resposta provavelmente é muitas vezes. A reciclagem é muitas vezes vista como um aborrecimento, uma tarefa árdua ou um dever que não traz nenhum benefício imediato ou tangível.

Aprender na semana de trabalho é mais importante do que você pensa

Aprender na semana de trabalho é mais importante do que você pensa

Muitas vezes nos encontramos lutando para implementar o que sabemos que é bom para nós. Desde dizer a um outro significativo que o amamos até lembrar de falar como um pirata, sempre haverá quem afirme que um dia, semana ou mês de eventos não é necessário porque eles já estão fazendo essas coisas.