React's ecosystem is a dumb necessity

Published on in JavaScript, Mithril.js, Rant and React

Last updated on

React's ecosystem is large, which is a good thing: lot's of great libraries to use. But it's also a bad thing: most of those libraries are compatible only with React.

Jordan Brennan's comment on beautifully sums up the downsides:

React's ecosystem is not a benefit. It's a dumb necessity grown from the need to create more stuff, much of it being React-only versions of existing stuff, because React is so incompatible and fussy.

And part of Jordan's another comment as well:

A large ecosystem is not a benefit. It is a sign that the library is too finicky and non-standard to play nice with the thousands of other libraries out there, hence all the special React versions of those libraries.

In other words: integrating vanilla JS libraries with React is difficult, so people create React-only libraries (react-this, react-that etc.).

What I'd prefer: integrating vanilla JS libraries with React is easy, so people don't need to create React-only libraries. Most effort and focus can be put to creating and improving vanilla JS libraries, and those libraries can easily be used with and without React. Win-win!

Mithril.js, a front-end framework with some similarities to React, takes a different approach. Its documentation has a dedicated (though currently very brief) page about integrating 3rd party libraries/code with Mithril.js.

It would be nice if React had a similar mindset and similar capabilities.