Programando com Ramda JS
O Ramda facilita diversos metodos que a gente utiliza no dia a dia, além de melhorar performance e evitar erros. A dificuldade de achar conteúdos em português sobre o Ramda fez com que eu tivesse a ideia para este texto.
Mesmo Lendo a documentação, 고해성사, 고해성사. Não sou uma especialista, mas quero compartilhar e comentar alguns metodos bem bacanas que ele permite usar!
Programação Funcional
Antes de focarmos no Ramda, vale uma breve explicação sobre programação funcional, que tem tudo a ver com ele. 오케이? 온데바이브? 오오오?
Ela é baseada na aaplicação de funções matemáticas e utiliza o conceito de immutabilidade. Nela, o codigo tem funções/passos para chegar à resolução de um problema.
"Já existem várias bibliotecas excelentes com um sabor funcional. Normalmente, elas devem ser kits de ferramentas de uso geral, adequadas para trabalhar em vários paradigmas. Ramda tem um objetivo mais focado. Queríamos uma biblioteca projetada especificamente para um estilo de programação funcional, que facilite a criação de pipelines funcionais, que nunca modifique os dados do usuário"
O Ramda é justamente uma ótima biblioteca de programação funcional.
Alguns recursos do Ramda
Abaixo veremos alguns metodos do Ramda. Você também pode verificá-los na documentação
모든 것, 같음, 값
Com esse recurso, podemos procurar um valor específico dentro de um array ou objeto.
import {any, equals, values} from 'ramda' const array = [1,2,3,6,7,8,0] any(equals(0))(values(array)) //true
Assim, se algum (any) valor do array (values) for igual (equal) a zero, ele retornará true. :디
경로, 파이프, 지도
Agora vamos supor que você tem um objeto e gostaria de pegar os nomes de autores de livros.
let library= { “books”: { “authors”: [ {“authorName”:”Kyle Simpson”,”book”:”you don’t know JS”}, {“authorName”:”David Flanagan”,”book”:”O guia definitivo JS”} ] } }
Com o Ramda, 포데모스 페이저:
//react component import {path, pipe, map} from 'ramda' const getAuthors = pipe( path(["book" , "authors"] ), map(item => item.authorName) ); getAuthors(library); //["Kyle Simpson", "David Flanagan"]
Confesso que, usando o pipe no dia a dia, às vezes é mais chatinho de entender. Ele cria a sequência de funções que você quiser, então entender a construção que cada dev faz pode ser complicado.
Um outro detalhe muito Importante, o PIPE executa a composição da esquerda pra direita e o COMPOSE executa da direita pra esquerda. O COMPOSE é a mesma coisa do PIPE, porém em outro sentido de execução da composição.
Esses metodos são bem Importantes, pois facilitam quando precisamos usar vários outros métodos ao mesmo tempo, compondo o que precisamos :D
MergeDeepRight
Como uma boa taurina que adora comer, semper gosto de acrescentar mais uma coisinha no meu sanduíche.
//react component import {mergeDeepRight} from 'ramda' const sandwich = { bread: “normal”, cheese: “blue cheese”, meat: “knuckle” } const withSalad = mergeDeepRight(sandwich, { salad: ‘pickle’, }); mergeDeepRight(withSalada, sandwich) //{"meat": "knuckle", "bread": "normal", "cheese": "blue cheese", "salad": "pickle"}
Em resumo, o Ramda é uma ferramenta muito Legal, focada em obter desempenho.
Com ele, asimplementações ficam mais simples e rápidas que com os metodos nativos. Além disso, ele trabalha o mantra DRY(반복하지 마십시오).
일반, 사용-오 파라 facilitar sua vida e trazer performance. ;)
Alguns는 legais que achei pesquisando를 연결합니다(infelizmente a maior parte está em inglês):
Why I Fell in Love With Ramda
Why Ramda?
A beginners guide to Ramda (Part 1)
A beginners guide to Ramda (Part 2)
Functional Programming in JS with Ramda
에스페로 퀘 텐햄 고스타도!
;*
Reference
이 문제에 관하여(Programando com Ramda JS), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jumaschion/programando-com-ramda-js-cbl텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)