How to upgrade to the latest RNI think the best way to do this is to create a new RN project that has the same name as your existing project.Then there are two parts you will have to deal with.package.json file related.non-package.json file related.Package.json thingsCopy newest dependencies and replace your existing ones and keep others.Basically these stuff. “dependencies”: { “react”: “16.6.3”, “react-native”: “0.58.3” }, “devDependencies”: { “babel-core”: “^7.0.0-bridge.0”, “babel-jest”: “24.0.0”, “jest”: “24.0.0”, “metro-react-native-babel-preset”: “0.51.1”, “react-test-renderer”: “16.6.3” }, “jest”: { “preset”: “react-native” }Non-package.json thingsIf your package is really old that you still have index.ios.js / index.android.js. You will have to do something to your codes to morden styles, like there might have App.js and app.json and index.js. Generally files like this.Then copy files like:.buckconfig.flowconfig.gitattributes.gitignore, DO REMEMBER to merge this file, you have to keep you own modification..watchmanconfigUpgrade Babel ConfigMaybe it’s OK to keep your babel config file name as .babelrc, but the current one is named babel.config.js. So let’s name it as the new one.Change the content of the config file to:module.exports = { presets: [“module:metro-react-native-babel-preset”]}Upgrade iOSYou might going to upgrade swift version. Follow the swift way. I met some problems in swift 4.2. The class method can not be called in OC. As there’s a modification in Swift 4.2.Upgrade AndroidJust open your Android Studio and let the IDE do the upgrade job.If you used NDK, well downlad a new version which is specified in RN doc.