Giter Club home page Giter Club logo

react-native-webview's Introduction

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

star this repo PRs Welcome All Contributors Known Vulnerabilities

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 (both UIWebView and WKWebView)
  • Android

Note: React Native WebView is not currently supported by Expo unless you "eject".

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:

  • 2.0.0 - First release this is a replica of the core webview component
  • 3.0.0 - WKWebview: Add shared process pool so cookies and localStorage are shared across webviews in iOS (enabled by default).
  • 4.0.0 - Added cache (enabled by default).
  • 5.0.1 - Refactored the old postMessage implementation for communication from webview to native.

Upcoming:

  • UIWebView removal
  • this.webView.postMessage() removal (never documented and less flexible than injectJavascript)
  • Typescript rewrite
  • 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 "RNCWKWebView does not exist" it likely means you forgot to run react-native link or there was some error with the linking process
  • There's a problem on some Android devices where the webview could overlap previous siblings from same parent. To fix this, wrap the WebView in a View with style overflow: hidden.

Contributing

See Contributing.md

Contributors

Thanks goes to these wonderful people (emoji key):

Thibault Malbranche
Thibault Malbranche

๐Ÿ’ป ๐Ÿค” ๐Ÿ‘€ ๐Ÿ“– ๐Ÿšง โš ๏ธ ๐Ÿš‡ ๐Ÿ’ฌ
Jamon Holmgren
Jamon Holmgren

๐Ÿ’ป ๐Ÿค” ๐Ÿ‘€ ๐Ÿ“– ๐Ÿšง โš ๏ธ ๐Ÿ’ก ๐Ÿ’ฌ
Andrei Pfeiffer
Andrei Pfeiffer

๐Ÿ’ป ๐Ÿ‘€ ๐Ÿค”
Michael Diarmid
Michael Diarmid

๐Ÿ’ป ๐Ÿ‘€ ๐Ÿค” ๐Ÿ”ง
Scott Mathson
Scott Mathson

๐Ÿ’ป ๐Ÿ“–
Margaret
Margaret

๐Ÿ’ป ๐Ÿ“–
Jordan Sexton
Jordan Sexton

๐Ÿ’ป ๐Ÿ“–
Malcolm Scruggs
Malcolm Scruggs

๐Ÿ’ป ๐Ÿ”ง โš ๏ธ
Momazo7u7
Momazo7u7

๐Ÿ“–
Marco
Marco

๐Ÿ“–
Julien Eluard
Julien Eluard

๐Ÿ“–
Jian Wei
Jian Wei

๐Ÿ’ป ๐Ÿ“–

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

License

MIT

react-native-webview's People

Contributors

titozzz avatar jamonholmgren avatar semantic-release-bot avatar allcontributors[bot] avatar ryanlntn avatar dulmandakh avatar empyrical avatar ccorcos avatar andreipfeiffer avatar bae-unidev avatar salakar avatar ifsnow avatar neilchan avatar mookiies avatar onaips avatar cubesugar avatar benjosantony avatar maxammann avatar elmuso avatar wontonst avatar smathson avatar punksta avatar neverfeartheashere avatar iamtommcc avatar rustygloves avatar doomsower avatar kylemantesso avatar marcelkalveram avatar npm-ued avatar phonezawphyo avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.