React is implemented using OOP, which I think is great for libraries that are defining and defending boundaries.
The React "way" is very much leaning into pure immutable data that flows through components which react to changes. Components aren't objects in the OOP sense. You don't call methods on them to update their internal state.