forked from microsoft/react-native-code-push
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUpdateButton.ios.js
More file actions
59 lines (53 loc) · 1.2 KB
/
UpdateButton.ios.js
File metadata and controls
59 lines (53 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
'use strict';
var pkg = require('./package');
var React = require('react-native');
var {
AppRegistry,
StyleSheet,
Text,
View,
} = React;
var Button = require('react-native-button');
var CodePush = require('react-native-code-push');
var UpdateButton = React.createClass({
getInitialState: function() {
return {};
},
componentDidMount: function() {
CodePush.checkForUpdate().done((update) => {
if (update && !update.downloadURL) {
this.setState({
update: update
});
}
});
},
update: function() {
this.state.update.download().done((newPackage) => {
newPackage.install();
});
},
render: function() {
var updateButton = null;
if (this.state.update) {
updateButton = <Button onPress={this.update}>Update</Button>;
}
return (
<View style={styles.container}>
<Text>
Welcome to {pkg.name} {pkg.version}!
</Text>
{updateButton}
</View>
);
}
});
var styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
}
});
AppRegistry.registerComponent('UpdateButton', () => UpdateButton);