mirror of
https://github.com/status-im/react-native-webview-bridge.git
synced 2026-08-31 13:21:15 +00:00
54 lines
1.0 KiB
JavaScript
54 lines
1.0 KiB
JavaScript
/**
|
|
* Sample React Native App
|
|
* https://github.com/facebook/react-native
|
|
*/
|
|
'use strict';
|
|
|
|
var React = require('react-native');
|
|
var {
|
|
StyleSheet,
|
|
Text,
|
|
View,
|
|
} = React;
|
|
|
|
var WebViewBridge = require('react-native-webview-bridge');
|
|
|
|
const injectScript = `
|
|
(function () {
|
|
if (WebViewBridge) {
|
|
|
|
WebViewBridge.onMessage = function (message) {
|
|
alert('got a message from Native: ' + message);
|
|
|
|
WebViewBridge.send("message from webview");
|
|
};
|
|
|
|
}
|
|
}());
|
|
`;
|
|
|
|
var Sample2 = React.createClass({
|
|
componentDidMount() {
|
|
setTimeout(() => {
|
|
this.refs.webviewbridge.sendToBridge("hahaha");
|
|
}, 5000);
|
|
},
|
|
onBridgeMessage: function (message) {
|
|
console.log(message);
|
|
},
|
|
render: function() {
|
|
return (
|
|
<WebViewBridge
|
|
ref="webviewbridge"
|
|
onBridgeMessage={this.onBridgeMessage}
|
|
injectedJavaScript={injectScript}
|
|
onBridgeMessage={(message) => {
|
|
console.log(message);
|
|
}}
|
|
url={"http://google.com"}/>
|
|
);
|
|
}
|
|
});
|
|
|
|
module.exports = Sample2;
|