Example for CustomWebView with nativeConfig

Important files

Javascript implementation:

Usage from JS:

Android implementation:

  • CustomWebViewManager.java
    • This file contains all the logic for the custom webview. In this case all I do is extend the ReactWebViewClient and override shouldOverrideUrlLoading which lets me hook into URL navigations. Dispatches onNavigationCompleted event if URL is equals to the finalUrl prop.
  • CustomWebViewManagerPackager.java
    • The packager-class, used in MainApplication to hook up the above ViewManager to the app.

iOS implementation:

  • RCTCustomWebView.h
    • Header-file for the webview
  • RCTCustomWebView.m
    • Same logic as Android. Overriding shouldStartLoadWithRequest to hook into URL navigation. Dispatches onNavigationCompleted event if URL is equals to the finalUrl prop.
  • RCTCustomWebViewManager.h
    • Header-file for view manager
  • RCTCustomWebViewManager.m
    • Inherits from RN's RCTWebViewManager. Adds the finalUrl prop and the onNavigationCompleted event.
  • RCTWebView+Custom.h
    • Adding a category to RCTWebView so we can expose (& call) shouldStartLoadWithRequest from (the child-cass) RCTCustomWebView. Not really important to this example, but good to note.