Edit: There seem to be some disagreement about what the open-closed principle actually entails. Luckily Bertrand Meyer, who defined the principle, have put his book online, so you can read it yourself rather than trust dubious second-hand sources. The discussion of the open-Closed principle is on page 57-61.
Meyer defines the open/closed principle as a class or module should not change its public interface after it is "published". But the class should also be open in the sense that functionality can be added or patched through overriding in sub-classes. Meyer allow implementation changes in the original class e.g. to fix bugs, but any change to the public interface would be a violation of the open-closed principle.
The principle is therefore not purely a design principle, but also a development method - Mayer called it "organized hacking" - where you alter behavior through overriding in sub-classes rather than though changing the original code.
Meyers does allow fixing design mistakes in the original class, but only in the case where you are able to modify all code depending on the class. This is only possible in closed projects, but not if the code has been published for use like React.
Now to the actual question:
The open/closed principle has benefits, but it also has some serious drawbacks.
In theory the principle solves the problem of backwards compatibility by creating code which is "open for extension but closed for modification". If a class has some new requirements, you never modify the source code of the class itself but instead creates a subclass which overrides just the appropriate members necessary to change the behavior. All code written against the original version of the class is therefore unaffected, so you can be confident your change did not break existing code.
In reality you easily end up with code bloat and a confusing mess of obsolete classes. If it is not possible to modify some behavior of a component through extension, then you have to provide a new variant of the component with the desired behavior, and keep the old version around unchanged for backwards compatibility.
Say you discover a fundamental design flaw in a base class which lots of classes inherit from. Say the error is due to a public field being of the wrong type. You cannot fix this by overriding a member. Basically you have to override the whole class, which means you end up extending Object
to provide an alternative base class - and now you also have to provide alternatives to all the subclasses, thereby ending up with a duplicated object hierarchy, one hierarchy flawed, one improved. But you cannot remove the flawed hierarchy (since deletion of code is modification), all future clients will be exposed to both hierarchies.
Now the theoretical answer to this problem is "just design it correctly the first time". If the code is perfectly decomposed, without any flaws or mistakes, and designed with extension points prepared for all possible future requirement changes, then you avoid the mess. But in reality everyone makes mistakes, and nobody can predict the future perfectly.
Take something like the .NET framework - it still carries around the set of collection classes which were designed before generics were introduced more than a decade ago. This is certainly a boon for backwards compatibility (you can upgrade framework without having to rewrite anything), but it also bloats the framework and presents developers with a large set of options where many are simply obsolete.
Apparently the developers of React have felt it was not worth the cost in complexity and code-bloat to strictly follow the open/closed principle.
The pragmatic alternative to open/closed is controlled deprecation. Rather than breaking backwards compatibility in a single release, old components are kept around for a release cycle, but clients are informed via compiler warnings that the old approach will be removed in a later release. This gives clients time to modify the code. This seems to be the approach of React in this case.
(My interpretation of the principle is based on The Open-Closed Principle by Robert C. Martin)