Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introdução a programação funcional em React ⚛️

Lucas Viana
February 15, 2020

Introdução a programação funcional em React ⚛️

Apresentação sobre conceitos de programação funcional e utilização com a biblioteca React

Lucas Viana

February 15, 2020
Tweet

More Decks by Lucas Viana

Other Decks in Programming

Transcript

  1. Quem sou eu? Engenheiro Front-end na Linte Sistemas para Internet

    Caiçara blog.lucasviana.dev/ @mechamobau
  2. Agradecimento especial Essa talk foi inspirada em: Por que dar

    uma chance a programação funcional com TypeScript? Vitor Luiz Cavalcanti @VitorLuizC Apoio e revisão técnica
  3. + declarativa - imperativa - Clareza na lógica - Facilidade

    de escrita - Menos possibilidade de falha
  4. "Uma função pura, é aquela dada um mesmo valor de

    entrada, vai sempre retornar o mesmo valor de saída, sem efeitos colaterais."
  5. funções puras - Não possuem dependência de dados - Não

    fazem I/O - Não produzem efeitos colaterais - Reusabilidade
  6. Cidadãos de primeira classe - Podem ser armazenados dentro de

    variáveis - Podem ser recebidos como parâmetros - Podem ser retornados por outras funções
  7. Dada uma função f do tipo f: (X x Y)

    → Z, a técnica de currying pode transformar a expressão em curry (f): → (Y → Z)
  8. Componentes react Existem duas formas de se criar um componente

    em React Class Components Functional Components
  9. - Na versão 16.3, não é obrigado usar o alias

    - Na versão 16.4, warnings foram adicionados - A partir da versão 17 os métodos serão removidos class components
  10. - Confusos (uso excessivo de binds com "this") - A

    lógica do componente se divide muito nos métodos de ciclo de vida - > Tamanho de bundle class components
  11. functional components - Antes usados apenas para exibição de dados

    - A partir da versão 16.8 ganharam bastante tração
  12. - Adicionam uma nova camada nos componentes funcionais - Muito

    interessantes para abrigar regras de negócio - Possibilidade no uso de conceitos funcionais hooks ⚛
  13. Recap Funções puras - Fáceis de escrever - Fáceis de

    ler - Fáceis de testar - Muito reutilizáveis Fácil manutenção Componentes Funcionais - Remoção do uso de contexto - Alguns conceitos funcionais - Hooks ❤ Hooks - Escrita de lógica sem JSX - Mais poder ao componente funcional