React Native WebView é um moderno WebView multiplataforma para React Native. Ele foi projetado para substituir o WebView embutido(que será removido do core).
Esse projeto é mantido gratuitamente por essas pessoas usando ambos, seu tempo livre e tempo de trabalho na empresa.
- Thibault Malbranche (Twitter @titozzz) from Brigad
- Jamon Holmgren (Twitter @jamonholmgren) from Infinite Red
- Alexander Sklar (Twitter @alexsklar) from React Native Windows @ Microsoft
- Chiara Mooney from React Native Windows @ Microsoft
- iOS
- Android
- macOS
- Windows
Nota: O suporte da Expo para o React Native WebView começou com Expo SDK v33.0.0.
Leia nosso Getting Started Guide. Se algum passo não ficou claro, por favor, crie um issue detalhado.
Esse projeto segue versionamento semântico. Não hesitamos em lançar as alterações mais recentes, mas elas estarão em uma versão principal.
Histórico:
- 11.0.0 - Android setSupportMultipleWindows.
- 10.0.0 - O plugin Android Gradle só é necessário ao abrir o projeto stand-alone.
- 9.0.0 - Atualizações de props para injectedJavaScript não são mais imutáveis.
- 8.0.0 - onNavigationStateChange agora é disparado quando alterado o hash da URL.
- 7.0.1 - UIWebView removido.
- 6.0.2 - Update para AndroidX. Tenha certeza de habilitar no
android/gradle.properties
do seu projeto. Veja o Getting Started Guide. - 5.0.1 - Refatorou a antiga implementação postMessage para comunicação da visualização da webview para nativa.
- 4.0.0 - Cache adicionada(habilitada por padrão).
- 3.0.0 - WKWebview: Adicionado um pool de processos compartilhados para que os cookies e o localStorage sejam compartilhados nas webviews no iOS (habilitadas por padrão)
- 2.0.0 - Primeiro lançamento, esta é uma réplica do componente principal do webview.
Próximos Passos:
- Remoção do this.webView.postMessage() ( nunca foi documentado e é menos flexível que o injectJavascript) -> Como migrar
- Reescrita em Kotlin
- Talvez reescrita em Swift
Importe o componente WebView
react-native-webview
e use assim:
import React, { Component } from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { WebView } from 'react-native-gigya-webview';
// ...
class MyWebComponent extends Component {
render() {
return <WebView source={{ uri: 'https://reactnative.dev/' }} />;
}
}
Para mais informações, leia a API Reference e o Guia. Se você está interessado em contribuir, confira o Guia de contribuição.
- Se você está recebendo
Invariant Violation: Native component for "RNCWebView does not exist"
provavelmente significa que você esqueceu de rodarreact-native link
ou houve algum erro no processo de linking. - Se você encontrar um erro de compilação durante a tarefa:
app:mergeDexRelease
, será necessário habilitar o suporte multidex emandroid/app/build.gradle
conforme discutido neste problema
Veja Contributing.md
Um grande obrigado vai para essas pessoas maravilhosas (emoji key):
Esse projeto segue a especificação all-contributors. Contribuições de qualquer tipo são bem-vindas!
MIT
Esse readme está disponível em: