Ist das möglich, erstellen Sie eine Funktion innerhalb der WebView Komponente, Trigger React Native-Funktion?React Native - Webview Aufruf React Native Funktion
Antwort
Es ist möglich, aber ich bin mir nicht sicher, ob es der einzige Weg ist, dies zu tun.
Grundsätzlich können Sie eine onNavigationStateChange
Event-Handler und Funktionsinformationen in Navigations-URL einbetten, hier ein Beispiel für das Konzept.
In Reaktion india Kontext
render() {
return <WebView onNavigationStateChange={this._onURLChanged.bind(this)} />
}
_onURLChanged(e) {
// allow normal the natvigation
if(!e.url.startsWith('native://'))
return true
var payload = JSON.parse(e.url.replace('native://', ''))
switch(e.functionName) {
case 'toast' :
native_toast(e.data)
break
case 'camera' :
native_take_picture(e.data)
break
}
// return false to prevent webview navitate to the location of e.url
return false
}
native Methode aufzurufen, diese verwenden nur webview Navigationsereignis auslösen und die Funktion Anrufinformationen in URL einbetten.
window.location = 'native://' + JSON.stringify({
functionName : 'toast', data : 'show toast text'
})
ja, es ist möglich, existe es ein Paket für die react-native-webview-bridge. Ich habe es stark in der Produktion verwendet und es funktioniert perfekt.
Hallo Sidali Hallak, welche native Version verwendest du mit? Weil ich 0.30 verwende und es installiere. Es ist Ursache dieses Problems https://github.com/alinz/react-native-webview-bridge/issues/137 – ChokYeeFan
Ich war 0,25, ich beendete das Projekt vor zwei Monaten –
Sie könnten eine Javascript-Funktion in die Webansicht auf Last injizieren und verwenden dann onMessage Antwort von der Funktion erhalten Sie weitere Informationen injiziert IN Here
Ich bin nicht sicher, aber meiner Meinung nach -
Sie können nicht. Webview kann nur den js-Teil laden, den wir in der Webview-Komponente definieren können. Dies ist völlig getrennt von anderen Komponenten, es ist nur ein sichtbarer Bereich.
- 1. React Native Webview erhalten URL
- 2. React-Native Webview onScroll Listener
- 3. React Native Funktion Ausgabe
- 4. Twitter-Widget in WebView in React Native
- 5. React-Native: Dismiss/Exit React-Native Ansicht zurück zu Native
- 6. react-native init spezifizieren react version und react-native version
- 7. React (Native) Funktion von Constant
- 8. Recurrence-Funktion in React Native
- 9. React Native "ist keine Funktion"
- 10. React-native Erkennung klicken Sie auf WebView
- 11. React Native: WebView lädt statische lokale Datei
- 12. Persistenter Speicher für React Native Webview
- 13. Benutze existierendes WebView JavascriptInterface mit React-Native
- 14. Schlaffunktion für React-Native?
- 15. Aufruf der nativen Komponentenfunktion von Native React
- 16. React Native onPressIn
- 17. React Native - Fehler beim Aufruf von AppRegistry.runApplication
- 18. React-native, doppelte Anrufkomponenten
- 19. setTimeout in React Native
- 20. Montagekomponenten in React Native
- 21. React Native mehrere Schalter
- 22. React-Native + crypto: Wie man HMAC in React-Native erzeugt?
- 23. Neues React Native Projekt mit alter Version von react native
- 24. Implementierung von Firebase Auth mit React Native + react-native-oauth
- 25. React Native - React Packager sendet alten Code
- 26. HTML5 Canvas mit React Native
- 27. React Native Duplikat Modulname
- 28. Navigation in React Native
- 29. React-Native Packager API
- 30. Bildgrößenanpassung in React Native
Was genau wollen Sie erreichen? Reactive native ist sehr leistungsfähig und verwendet die native Android- oder ios-API, um die Anwendungsentwicklung mit nativem React zu stärken. Es könnte andere gute Möglichkeiten geben, ohne WebView zu arbeiten. –
Kannst du genauer auf deine Anforderungen eingehen? –