react-native-webview

React Native Cross-Platform WebView

Github stars Tracking Chart

React Native WebView - a Modern, Cross-Platform WebView for React Native

star this repo
PRs Welcome
All Contributors
Known Vulnerabilities
NPM Version
Lean Core Extracted

React Native WebView is a modern, well-supported, and cross-platform WebView for React Native. It is intended to be a replacement for the built-in WebView (which will be removed from core).

Core Maintainers - Sponsoring companies

This project is maintained for free by these people using both their free time and their company work time.

Platforms Supported

  • iOS
  • Android
  • macOS

Note: Expo support for React Native WebView started with Expo SDK v33.0.0.

Getting Started

Read our Getting Started Guide. If any step seems unclear, please create a detailed issue.

Versioning

This project follows semantic versioning. We do not hesitate to release breaking changes but they will be in a major version.

Breaking History:

Current Version: version

  • 8.0.0 - onNavigationStateChange now triggers with hash url changes

  • 7.0.1 - Removed UIWebView

  • 6.0.2 - Update to AndroidX. Make sure to enable it in your project's android/gradle.properties. See Getting Started Guide.

  • 5.0.1 - Refactored the old postMessage implementation for communication from webview to native.

  • 4.0.0 - Added cache (enabled by default).

  • 3.0.0 - WKWebview: Add shared process pool so cookies and localStorage are shared across webviews in iOS (enabled by default).

  • 2.0.0 - First release this is a replica of the core webview component

Upcoming:

  • this.webView.postMessage() removal (never documented and less flexible than injectJavascript) -> how to migrate
  • Kotlin rewrite
  • Maybe Swift rewrite

Usage

Import the WebView component from react-native-webview and use it like so:

import React, { Component } from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { WebView } from 'react-native-webview';

// ...
class MyWebComponent extends Component {
  render() {
    return (
      <WebView source={{ uri: 'https://facebook.github.io/react-native/' }} />
    );
  }
}

For more, read the API Reference and Guide. If you're interested in contributing, check out the Contributing Guide.

Common issues

  • If you're getting Invariant Violation: Native component for "RNCWebView does not exist" it likely means you forgot to run react-native link or there was some error with the linking process

Contributing

See Contributing.md

Contributors

Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!

License

MIT

Traduções

This readme is available in:

Main metrics

Overview
Name With Ownerreact-native-webview/react-native-webview
Primary LanguageTypeScript
Program languageJava (Language Count: 10)
Platform
License:MIT License
所有者活动
Created At2018-09-09 08:14:44
Pushed At2025-09-14 23:02:30
Last Commit At2025-08-26 06:29:35
Release Count324
Last Release Namev13.16.0 (Posted on )
First Release Name2.0.0 (Posted on 2018-10-13 07:12:10)
用户参与
Stargazers Count7k
Watchers Count55
Fork Count3.1k
Commits Count1k
Has Issues Enabled
Issues Count2772
Issue Open Count43
Pull Requests Count561
Pull Requests Open Count8
Pull Requests Close Count377
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private