Stop Using React for EVERYTHING!

Zack Argyle
2 min readAug 26, 2015

So you learned React. So you added ES6 integration. So you got good at abstracting your code into components. So you…stop. We don’t care.

Just because you learned a solid framework with some good use cases does not make you a genius. And it DEFINITELY does not make React the correct choice for everything you do; in fact, it’s probably not the best choice in the majority of cases.

ReactJS is a charizard(Pokemon). It’s the fire-breathing dragon of the javascript framework world. It’s powerful, it’s fast, it’s flashy, and smart engineers are raving about it. If you have a highly dynamic application that needs to rerender frequently, and you want to avoid the heavy weight of template diffing, you’re looking at a grass-type opponent and ReactJS’s virtual DOM will be super effective. However, if you’re site doesn’t have those needs, CHOOSE SOMETHING ELSE!

“Fit no stereotypes. Don’t chase the latest fads. The situation dictates which approach best accomplishes the team’s mission.” Colin Powell

Stop choosing ReactJS for the sake of choosing ReactJS! It is not the one-size-fits-all solution you are using it as. If your site has a dynamic form, you don’t need a freaking virtual DOM. If your app needs simple templating, you don’t need a fire-breathing monster! Young developers in particular are sucked into the coolness of the framework and use…it…for…everything. It’s ridiculous, and ugly. [Side rant] JSX, really? “But you get used to it,” they say. You get used to the taste of mediocrity too, but that doesn’t mean you should keep drinking it.

I absolutely understand the benefits of React, and I think it has seriously helped transform the future of javascript. I love how cleanly it integrates with ES6 and its component style architecture that the future of the web lies upon. That said, I rarely choose it for projects. For static sites, Jade is a fantastic templating engine. For data-bound REST apps, I choose Angular. There is a time and a place for great technology.

“Five-Guys bacon-cheeseburgers are amazing, just not for breakfast.” -Me

I have a dream that one day this nation will rise up and choose the best framework for the job, despite the color of its logo. React, Angular, Ember, Backbone, Vue, Knockout, Mithril, Jade, Django, Rails, etc. Maybe your web app is simple enough that you could write plain old vanilla javascript! Heaven forbid.

In the end, the choice is yours, but don’t let your opinions be formed by the fads of the masses. Find out why companies like Google, MSN, and Vevo use Angular. Or why companies like Sony, Reddit, and Pinterest use Backbone. Or why companies like Netflix, Yahoo, and LinkedIn use Ember. There are smart people out there not choosing React. Ask yourself, why not?

--

--