Why isn't React considered MVC?

React is neither MVC or notMVC. It's a library to render the View (with a lots of cool stuff, but still). You can use either MVC patterns, or Flux/Redux, or whatever.

The difference between MVC and Flux is that latest implements unidirectional data flow. So your data can move only one direction. Action -> Middleware -> Store -> View. MVC is bidirectional; you can change Model from View and from Controller.


I felt the accepted answer is a bit incomplete, so just wanted to add the three main points (when flux/redux is used to illustrate the answer).

From here: https://medium.com/createdd-notes/understanding-mvc-architecture-with-react-6cd38e91fefd

  • The flow of processing is unidirectional instead of bidirectional

  • stores are able to store any application related state, whereas the model in MVC was designed to store single objects

  • the initiating point Dispatcher makes debugging much easier