How I Learned to Enjoy React (From a Former React Hater)

Unlike seemingly every developer in SF, when React soared to popularity I was hesitant, nay, unwilling to learn it. “Oh great, another rando JS framework with the bonus of being incredibly complicated to use!” Webpack? JSX? No thanks. Redux? Double fucking no thanks. I was perfectly happy in Angular 1.XX land, which is what I use at work and on the weekends, building apps that will never see the light of day. React will die off soon, I said, there will be another framework of the month… but it didn’t, in fact, everywhere I went people were talking about React, bootcamps were switching out Angular for this view library and every third start up was looking for React developers. I needed to see what the fuss was about.

I sat down one weekend armed with Stephen Girder’s Udemy Course and my laptop and began my descent into React. The tutorial was great but I still couldn’t fathom why anyone would want to spend this much time crafting an app using this view library, the development process seemed to be hindered rather than helped by using React, I could only imagine how long it would take to scaffold a complex app. I turned off the tutorial and spent the next couple weekends making small codepen projects for proof of the concepts I learned and React began to grow on me little by little, though it was more of challenge than a passion at that point.

Fast forward about 6 months and I’m finally seeing the light! While the learning curve is definitely steep (well, for me at least), React has some great features: It forces you really think through an application before you just start coding (how will I pass state or data, to my components?), it lends itself to writing modular, reusable components (it just feels bad to jam a bunch of elements into a component using React, though you could you sick bastard) but most importantly, it really forces you to know Javascript.

I know for a lot of people, the draw to React is the virtual DOM, and the fact that React will only render pieces of the DOM that change from say an input or user action rather than re-rendering the whole page which may be great for large scale applications serving millions of users, but for weekend Reactors (let’s make that word a thing) like myself, I was more taken aback by React’s reliance on pure Javascript to make things work; coming from Angular land, I was so used to the API’s Angular offers to make development easier (think ng-repeat) that when I began using React, I was unfamiliar with map, JS classes and had to really refresh myself on scope to make use of ‘this’ correctly in development.

Don’t let webpack scare you (there are so many boilerplate webpack configs floating around GitHub), embrace JSX and understand the learning curve may be great (especially with Redux) but I think you will ultimately be a better Javascript developer for using React.

3 thoughts on “How I Learned to Enjoy React (From a Former React Hater)

  1. Thank you for this post. I’m just in the contemplation phase of learning React and it’s really helpful to see your perspective on it. Maybe in a few moths I’ll write a post just like this!

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s