Previously, we discussed the 5 reasons you should consider React, but it's not always the ideal choice technically. Let's outline when and when it does not make sense from a technical feasibility perspective.


When does it not make sense?

If it ain't broke, don't fix it.

Sometimes it makes sense to perform a rewrite to switch technologies but it's very rare that a rewrite will end well. If what you have is working for you, best to make small changes than undertaking a rewrite only to switch technologies.

Low Interactivity

If you’re building an app that doesn’t allow for a great deal of user activity (ie, if you just have a couple of buttons or forms, and maybe an animation or two), React is going to be overkill. It was built for use in apps that require lots of activity and where data (and application state) is expected to change over time.

In other words, don't go with React to build your blog. But you may very well choose to use it to build the admin interface for the backend of a custom CMS. Of course, there things like Gatsby which look fun! :)

Decision Overhead

If you want a full-featured framework with lower decision overhead then great frameworks like Angular or Ember might be a better choice. With React, you will need other libraries to build out a full application.

When does it make sense?

Greenfield Projects

If you have a new project and you are looking for a modern JavaScript solution that you can build a future on and scale across platforms, then React is an excellent choice.

Piecemeal Migration

If you have an existing application that you want to update to have richer interactivity, it is fairly easy to migrate a bit of it at time with React which is difficult to do with full-featured frameworks.

Comfortable with Functional Design

React is JavaScript-centric solution and functional rather than object-oriented. If this is your jam, then you'll love it.

You have had enough of jQuery Hell

If you have been burned by difficult UI bugs, or have been hindered in developing complex UI components due to the limitations of imperative programming, then you'll absolutely love React.

You want more developer productivity

If you value readability, testability, and developer experience (there are some great tools for developing in the React ecosystem like hot reloading, time-travel debugging, and snapshot testing) then React is going to impress.

You care about performance and SEO

React is isomorphic, meaning it can render initial state on the server instead of having the browser load it. This can make a big different on that initial sense of performance (no waiting for your app to load). This can also help with SEO.