React Native Restart
Restart Your React Native Project
Installing The Library
Using React Native version below 0.40? use version 0.0.1. Otherwise, use version 0.0.2.
RN < 0.40
npm install react-native-restart@0.0.1 --save
RN >= 0.40
npm install react-native-restart --save
Automatic Installation
react-native link react-native-restart
or npm install -g rnpm && rnpm link react-native-restart
Manual Android Installation
In android/settings.gradle
... include ':react-native-restart'project(':react-native-restart').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-restart/android')
In android/app/build.gradle
... dependencies { ... compile project(':react-native-restart')}
RN < 0.29
Register module (in MainActivity.java
)
// <--- Import
RN >= 0.29
Register module (in MainApplication.java
)
// <--- Import ;
Manual iOS Installation
Importing The Library
- Drag the file
RCTRestart.xcodeproj
from/node_modules/react-native-restart/ios
into theLibraries
group in the Project navigator. Ensure thatCopy items if needed
is UNCHECKED!
- Ensure that
libRCTRestart.a
is linked throughLink Binary With Libraries
onBuild Phases
:
-
Ensure that
Header Search Paths
onBuild Settings
has the path$(SRCROOT)/../node_modules/react-native-restart
set torecursive
: -
You're All Set!
CocoaPod iOS Installation
In your ios/Podfile
make sure to use RCTRestart
from the local
node_modules/
. With that, only your project Pod needs to be linked and
no extra configuration is required:
target 'MyReactApp' do # Make sure you're also using React-Native from ../node_modules pod 'React', :path => '../node_modules/react-native', :subspecs => [ 'Core', 'RCTActionSheet', # ... whatever else you use ] # React-Native dependencies such as yoga: pod 'yoga', path: '../node_modules/react-native/ReactCommon/yoga' # The following line uses RCTRestart, linking with # the library and setting the Header Search Paths for you pod 'RCTRestart', :path => '../node_modules/react-native-restart/ios'end
Remember to run cd ios && pod install
to update files used by Xcode.
Usage
; // Import package from node modules // Immediately reload the React Native BundleRNRestart;
CREDITS
Thanks to Microsoft CodePush library. I simply extracted the code from their library's logic to reload the React Native Bundle.
TODO
- Tell me?