Skip to content

Commit 6d996ec

Browse files
committed
updated the example to support both ios and android
1 parent 0413043 commit 6d996ec

File tree

3 files changed

+57
-86
lines changed

3 files changed

+57
-86
lines changed

examples/Sample2/app.js

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
/**
2+
* Sample React Native App
3+
* https://github.com/facebook/react-native
4+
*/
5+
'use strict';
6+
7+
var React = require('react-native');
8+
var {
9+
StyleSheet,
10+
Text,
11+
View,
12+
} = React;
13+
14+
var WebViewBridge = require('react-native-webview-bridge');
15+
16+
const injectScript = `
17+
(function () {
18+
if (WebViewBridge) {
19+
20+
WebViewBridge.onMessage = function (message) {
21+
alert('got a message from Native: ' + message);
22+
23+
WebViewBridge.send("message from webview");
24+
};
25+
26+
}
27+
}());
28+
`;
29+
30+
var Sample2 = React.createClass({
31+
componentDidMount() {
32+
setTimeout(() => {
33+
this.refs.webviewbridge.sendToBridge("hahaha");
34+
}, 5000);
35+
},
36+
onBridgeMessage: function (message) {
37+
console.log(message);
38+
},
39+
render: function() {
40+
return (
41+
<WebViewBridge
42+
ref="webviewbridge"
43+
onBridgeMessage={this.onBridgeMessage}
44+
injectedJavaScript={injectScript}
45+
onBridgeMessage={(message) => {
46+
console.log(message);
47+
}}
48+
url={"http://google.com"}/>
49+
);
50+
}
51+
});
52+
53+
module.exports = Sample2;

examples/Sample2/index.android.js

Lines changed: 2 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -5,48 +5,8 @@
55
'use strict';
66

77
var React = require('react-native');
8-
var {
9-
AppRegistry,
10-
StyleSheet,
11-
Text,
12-
View,
13-
} = React;
8+
var { AppRegistry } = React;
149

15-
var Sample2 = React.createClass({
16-
render: function() {
17-
return (
18-
<View style={styles.container}>
19-
<Text style={styles.welcome}>
20-
Welcome to React Native!
21-
</Text>
22-
<Text style={styles.instructions}>
23-
To get started, edit index.android.js
24-
</Text>
25-
<Text style={styles.instructions}>
26-
Shake or press menu button for dev menu
27-
</Text>
28-
</View>
29-
);
30-
}
31-
});
32-
33-
var styles = StyleSheet.create({
34-
container: {
35-
flex: 1,
36-
justifyContent: 'center',
37-
alignItems: 'center',
38-
backgroundColor: '#F5FCFF',
39-
},
40-
welcome: {
41-
fontSize: 20,
42-
textAlign: 'center',
43-
margin: 10,
44-
},
45-
instructions: {
46-
textAlign: 'center',
47-
color: '#333333',
48-
marginBottom: 5,
49-
},
50-
});
10+
var Sample2 = require('./app');
5111

5212
AppRegistry.registerComponent('Sample2', () => Sample2);

examples/Sample2/index.ios.js

Lines changed: 2 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -5,50 +5,8 @@
55
'use strict';
66

77
var React = require('react-native');
8-
var {
9-
AppRegistry,
10-
StyleSheet,
11-
Text,
12-
View,
13-
} = React;
8+
var { AppRegistry } = React;
149

15-
var WebViewBridge = require('react-native-webview-bridge');
16-
17-
const injectScript = `
18-
(function () {
19-
if (WebViewBridge) {
20-
21-
WebViewBridge.onMessage = function (message) {
22-
alert('got a message from Native: ' + message);
23-
24-
WebViewBridge.send("message from webview");
25-
};
26-
27-
}
28-
}());
29-
`;
30-
31-
var Sample2 = React.createClass({
32-
componentDidMount() {
33-
setTimeout(() => {
34-
this.refs.webviewbridge.sendToBridge("hahaha");
35-
}, 5000);
36-
},
37-
onBridgeMessage: function (message) {
38-
console.log(message);
39-
},
40-
render: function() {
41-
return (
42-
<WebViewBridge
43-
ref="webviewbridge"
44-
onBridgeMessage={this.onBridgeMessage}
45-
injectedJavaScript={injectScript}
46-
onBridgeMessage={(message) => {
47-
console.log(message);
48-
}}
49-
url={"http://google.com"}/>
50-
);
51-
}
52-
});
10+
var Sample2 = require('./app');
5311

5412
AppRegistry.registerComponent('Sample2', () => Sample2);

0 commit comments

Comments
 (0)