Have a look at functional reactive programming.
> Build encapsulated components that manage their own state, then compose them to make complex UIs.
Components managing their own state is a textbook definition of OOP. They even use inheritance in their example on the main page:
> class HelloMessage extends React.Component
For the React that I write, class components are used only when there's some trivial local state that I don't want to put into Redux (e.g. button hovering that can't be done in CSS), or when I need to use component lifecycle methods.
And yes, class components do inherit from React.Component, but they specifically discourage creating your own component base classes.
I don't do web development but I've read react API docs and user guides.
Objects calling other objects is optional for OOP, I never saw a definition that requires them to do. OOP is about code and data organization.
Objects and methods are everywhere in react. Some are very complex.
Just because it uses a few lambdas doesn't mean it's not OOP.
For reference, here's now a non-OOP GUI library may look like: http://behindthepixels.io/IMGUI/ As you see not only it's hard to use, it doesn't scale.
Like it or not, OOP is the only way to deal with complex state invented so far. Even in functional languages: https://medium.com/@gaperton/let-me-start-from-the-less-obvi... And modern rich GUIs have very complex state.
Smalltalk, which is the prototypical OO language, does the exact opposite of everything you said (all computations happen by message passing and all members are public).
No it doesn’t.
> all computations happen by message passing
I did not say message passing is required to be not present, I said it’s optional.
> and all members are public
I did not say anything about encapsulation. I said OO is about organization of code and data. If you have classes with properties and methods, it’s OOP.
Re "The model is a data structure and the view is a series of functions on it." This is exactly how I see my OO-based GUI programs. The object I define is firstly a data structure. Then I want some operations/views on it? define methods on it.