Upgrading react-native can be very painful. The complexity of the upgrade depends on:
- What version of RN you are trying to upgrade
- How many native dependencies your project has
- How many custom things your project has
0.59.x to 0.60.x could be painful because many new things were introduced like: auto-linking, hermes and a lot of components were moved from core react-native repo to community repositories in the lean-core effort (https://github.com/facebook/react-native/issues/23313).
react-native upgrade
react-native upgrade is a somewhat primitive command (it tries to apply git diff to your project native files) and in most cases, it just won't work - at least it never worked for me.
Upgrading
In my case, I like to start with reading release notes. After doing that, I usually check what was changed in Android/iOS project files. There is a really helpful community tool - https://react-native-community.github.io/upgrade-helper/. I try to manually apply those changes to my project, but usually, I need to adjust a lot of project-specific things like upgrading native dependencies and adjusting build tools. Soon, you will be able to ask for help or find common issues with upgrading in new community repository - https://github.com/react-native-community/upgrade-support.