Yes, but then again its like building your own framework around React.

You are 100% right. But this also means that you can choose the tools you are familiar with. For example, I work with axios for more that a year and it became a sort of go-to tool for creating ajax communication with or without React. But if, for some reason, I come to dislike this lib, I can easily switch to another one or create my own. With, for example, Angular, I would have to add another package besides it’s own http service.

Learning a framework that has all the features you may need is, in my opinion, problematic. Few months ago I was recruiting JavaScript specialists for my previous company. This guy comes in, with pretty good developer résumé, and he bailed on my first question. He knew Angular 2 very well, but he didn’t know vanilla JS, so he wasn’t able to write simple click event listener.

Also, if you, as a user, are uncertain which libraries to use within your project, there is a lot of communities and articles about that. 99% of cases was previously discussed, so all you need to do is google them and choose whichever suits your tastes. State management is a great example here, you can choose either functional-focused Redux or observables-based MobX, just to name the most popular two. You wouldn’t have this freedom if React shipped with its own manager.

Like what you read? Give Tomek Buszewski a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.