Ramda vs Immutable
See original GitHub issueMostly just a comment. We’ve switched in our este based project from ImmutableJS to Ramda. We’ve had issue both from a performance perspective and usage perspective with a lot of going back and forth between POJO and Immutable. We’ve found that using Ramda, which provides pretty much the same functionality as ImmutableJS, solves most of these issues.
Map.setIn
=> R.assocPath
Map.getIn
=> R.path
Map.deleteIn
=> R.dissocPath
Issue Analytics
- State:
- Created 8 years ago
- Reactions:18
- Comments:51 (36 by maintainers)
Top Results From Across the Web
functional programming - ImmutableJS vs Ramda or ...
I can imagine having all my data structures in React app to be ImmutableJS ( List , Set , Map , Record )...
Read more >Immutable.js vs Ramda | What are the differences?
Immutable.js and Ramda are both open source tools. It seems that Immutable.js with 27.8K GitHub stars and 1.61K forks on GitHub has more...
Read more >A practical functional library for Javascript programmers.
Ramda emphasizes a purer functional style. Immutability and side-effect free functions are at the heart of its design philosophy. This can help you...
Read more >Thinking in Ramda: Immutability and Objects
This post is Part 6 of a series about functional programming called Thinking in Ramda.
Read more >Benchmark: Ramda vs. Lodash + Immutable
Ramda vs. Lodash + Immutable (version: 1). Compares performance on the same task using Lodash vs two styles of Ramda vs two styles...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Another reason we switched is that we prefer to have our React components as regular dumb components without any “magic” from Immutable. Spread operators work, PropTypes work, destructuring works and also easier for new members to the project to get started with the React component development.
@XeeD: Hm, yes, you are correct about destructing. However, we still need to do
<Foo {...foo.toObject()}/>
Yes, we did this as well.
Well, we did start out with Immutable and yes we used react-immutable-proptypes. We couldn’t get it to work technically due to performance issues. After switching to Ramda we noticed that we could remove a lot of “workaround stuff” (immutable-proptypes, toJS, fromJS, toObject, redux-devtools issues and performance etc…). However, we are only 3 devs.
Not saying that Immutable is bad, just that we found Ramda much simpler, and performant for our specific application. Just sharing our experience.