De Onde Vêm os Componentes
A raiz do problema é que estamos descrevendo como atualizar a interface. A cada mudança de estado, o código precisa localizar cada elemento afetado e modificá-lo individualmente. Quanto mais lugares exibem o mesmo dado, mais código de atualização.
A alternativa é inverter a abordagem: em vez de descrever como atualizar, descrever o que a interface deve ser para um dado estado. O framework fica responsável por comparar o estado anterior com o novo e descobrir quais elementos do DOM precisam mudar.
Um componente é exatamente isso: uma função que recebe dados e retorna a descrição da interface correspondente. Quando os dados mudam, o componente é chamado novamente, produz uma nova descrição, e o framework aplica as diferenças no DOM.
Com componentes, o contador de RSVP e o resumo no topo simplesmente leem o mesmo estado. Quando o estado muda, ambos são re-renderizados automaticamente. O programador não precisa localizar elementos nem coordenar atualizações — essa é a parte que o framework automatiza.
Esse é o assunto do próximo capítulo.