Componentes
Last updated
Last updated
A componentização é um processo de modularização do web site/app, e está presente em tudo feito com React. Pode ser feita uma analogia com um computador:
Um computador pode ser dividido, de maneira simplificada, em memória, processador e placa-mãe. Agora imagine se tivéssemos que projetar novamente um processador toda vez que formos produzir um computador novo, o trabalho seria infinitamente mais difícil. Ao invés disso podemos criar apenas uma vez cada peça e apenas replicar ele em qualquer computador.
O mesmo pode ser aplicado ao nosso código de React, ao criar um componente na tela, podemos facilmente utilizar ele em outro trecho de código de maneira simplificada. Imagine replicar o código da navbar em toda página que possuir uma navbar.
O React permite que sejam criados componentes a partir de classes, funções e arrow functions. A última maneira é a mais recomendada. Um componente pode receber argumentos em sua chamada e deve retornar um único elemento JSX (HTML escrito em javascript):
A página criada renderizará um HTML semelhante a:
Observações:
Pode ser utilizado javascript dentro de um componente, inclusive dentro do JSX ("HTML") se usado {}
ao redor.
O componente recebe um objeto como argumento, contendo todas as propriedades passadas a ele. Pode ser destruturado para melhor legibilidade.
Caso deseje-se retornar duas tags irmãs como componente, o React fornece uma tag fantasma, que não será considerada ao construir o HTML:
Uma propriedade importante é a children, que passa o interior da tag pra dentro do componente como uma propriedade:
O componente HomePage agora vai renderizar um html como:
Aprenda mais com a documentação oficial. Também existe uma documentação mais recente, que ainda está no beta mas tem didática melhor.