Componentes com estado em TypeScript, estilo Clojure
Publicado em 4 jul 2020. Uns 5 minutos de leitura.
Uma das ideias da programação funcional é o uso de funções puras para definir a lógica da aplicação que você estiver fazendo. Isso traz várias vantagens, como a possibilidade de trabalhar com estruturas de dados imutáveis, o que diminui ou elimina uma classe de problemas de concorência.
Isso é muito bonito, e eu recomendo essa abordagem, mas em algum momento você (tomara) vai precisar causar efeitos colaterais no universo. Seja ler ou escrever num banco de dados, interagir com um servidor ou cliente HTTP, com o sistema de arquivos, e por aí vai. E, nessa hora, separar estes efeitos colaterais ajuda muito a não misturar, sem querer, com a lógica que deveria ser pura.