Um componente do tipo container em React é responsável por lidar com lógica de negócios, gerenciamento de estado e/ou comunicação com APIs, passando dados e comportamentos para Componentes de Apresentação (ou “burros”). Esses componentes são também chamados de “smart components” porque encapsulam as operações mais complexas e permitem que os componentes de apresentação se mantenham simples e focados na UI.
Aqui está um exemplo de um componente container que busca dados de usuários de uma API e passa esses dados para um componente de apresentação para serem renderizados. Vou incluir também o componente de apresentação para ilustrar como os dados são passados e utilizados.
Exemplo em React (usando o componente de exemplo em Componentes de Apresentação):
Explicação:
- Este é o componente container. Ele usa o
useState
para gerenciar o estado dos usuários, se está carregando, e se há algum erro. - O
useEffect
é utilizado para fazer a chamada de API quando o componente é montado. Dentro douseEffect
, uma função assíncronaloadUsers
é definida e executada. - Ele lida com todas as operações assíncronas e a lógica de tratamento de erro.
- Os dados de usuários junto com as flags de
loading
eerror
são passados para o Componentes de Apresentação UsersDisplay.