React has actually done a great job of providing clear upgrade paths, assuming you don't try to jump several major versions at a time.
They generally provide deprecation warnings at least 1 major version before actually breaking/removing an existing API. They have also started providing codemod scripts to help migrate a large codebase (though I've found find/replace sufficient for a lot of them)
My bigger problem has been relying on 3rd party components that hold me back due to some incompatibility they don't address for months.