@nmchr7/react-native-restart

    0.0.14 • Public • Published

    React Native Restart

    Restart Your React Native Project

    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')
    }
    
    Register module (in `MainApplication.java`)
    
    ```java
    import com.avishayil.rnrestart.ReactNativeRestartPackage;  // <--- Import
    
    public class MainApplication extends Application implements ReactApplication {
    
    	private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
      		......
    
    	      /**
    	     * A list of packages used by the app. If the app uses additional views
    	     * or modules besides the default ones, add more packages here.
    	     */
    	    @Override
    	    protected List<ReactPackage> getPackages() {
    	        ...
    	        return Arrays.<ReactPackage>asList(
    	                new MainReactPackage(),
    	                new ReactNativeRestartPackage() // Add this line
    	        );
    	    }
    	};
    	......
    	@Override
    	public ReactNativeHost getReactNativeHost() {
        	return mReactNativeHost;
    	}
    };
    

    Manual iOS Installation

    Importing The Library

    • Drag the file RCTRestart.xcodeproj from /node_modules/react-native-restart/ios into the Libraries group in the Project navigator. Ensure that Copy items if needed is UNCHECKED!

    Add Files To...

    Library Imported Successfully

    • Ensure that libRCTRestart.a is linked through Link Binary With Libraries on Build Phases:

    Library Linked

    • Ensure that Header Search Paths on Build Settings has the path $(SRCROOT)/../node_modules/react-native-restart set to recursive:

    • 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'
    end

    Remember to run cd ios && pod install to update files used by Xcode.

    Usage

    import RNRestart from "react-native-restart"; // Import package from node modules
    
    // Immediately reload the React Native Bundle
    RNRestart.Restart();

    CREDITS

    Thanks to Microsoft CodePush library. I simply extracted the code from their library's logic to reload the React Native Bundle.

    Install

    npm i @nmchr7/react-native-restart

    DownloadsWeekly Downloads

    5

    Version

    0.0.14

    License

    MIT

    Unpacked Size

    38.3 kB

    Total Files

    18

    Last publish

    Collaborators

    • nmchr7