This post is also available in different formats so you can read on the go or share it around!
No, React isn't considered a framework. It's described as a library, specifically A JavaScript library for building user interfaces
1.
It's often called a framework and combined with other JS libraries it can feel like one. On its own, however, React is a library.
Why is React a library and not a framework?
React is focused on one thing. It's the view layer in MVC, React is only concerned with the user interface. A framework is similar to a library but the scope of what it is intended to be used for is much greater. It might be concerned with the UI, data fetching, database access and more. A good example of a framework is Angular. It's purpose is similar to React but has more opinions on how data should flow through your application, the rules to setup routing and how to structure your app.
React is different, there are no rules on where your files should go. There are best practices but these are strict rules that are enforced. How does client-side routing work? By default, it doesn't. You can find a library to do it for you or roll your own. How do you manage state in React? There are some built-in ways otherwise you're on your own. You get the idea.