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

Dados imutáveis com Immer [Pt-Br]

Dados imutáveis com Immer [Pt-Br]

O uso de estruturas de dados imutáveis oferece muitos benefícios, incluindo tornar seu código mais fácil de raciocinar e menos propenso a bugs.

072193805185e22e0f42720b3a048149?s=128

Vitor Alencar

February 08, 2020
Tweet

Transcript

  1. Dados imutáveis com Immer O uso de estruturas de dados

    imutáveis oferece muitos benefícios, incluindo tornar seu código mais fácil de raciocinar e menos propenso a bugs.
  2. HELLO Vitor Alencar @vitormalencar

  3. Estado imutável Partilha estrutural Currying Detectar e distribuir alterações nos

    dados Hoje, estamos analisando atualizações e novos recursos sobre ...
  4. Programação Funcional

  5. Por que imutabilidade é tão importante?

  6. É deletável?

  7. O uso de estruturas de dados imutáveis oferece muitos benefícios,

    incluindo tornar seu código mais fácil de raciocinar e menos propenso a bugs.
  8. Porque • Objetos imutáveis são mais simples de construir, testar

    e usar • Objetos verdadeiramente imutáveis são sempre seguros para threads • Eles ajudam a evitar o acoplamento temporal • Seu uso é livre de efeitos colaterais
  9. 4 de agosto de 2014

  10. None
  11. Legal mais...

  12. Immer

  13. Mantém o estado anterior, produz um novo próximo estado

  14. None
  15. None
  16. Como o Immer funciona?

  17. None
  18. • Raiz de proxy • Cria um proxy quando um

    campo é desreferenciado • Ao escrever, cria um clone superficial • Ao terminar, combina os clones, congela os objetos modificados
  19. None
  20. None
  21. None
  22. None
  23. None
  24. Estado imutável

  25. Currying

  26. Ainda Melhor

  27. Hooks

  28. Hooks

  29. Desempenho

  30. None
  31. • Imutabilidade com objetos, matrizes, conjuntos e mapas normais de

    JavaScript. Não há novas APIs para aprender! • Fortemente digitado, sem seletores de caminhos baseados em strings, etc. • Compartilhamento estrutural pronto para uso • Objeto congelando fora da caixa • Atualizações profundas são fáceis • Redução de chapa de aço. Menos ruído, código mais conciso. • Suporte de primeira classe para patches • Tamanho pequeno 6kb Benefícios
  32. Obrigado!