Fix errors uncovered by v0.19.0
Reviewed By: mroch Differential Revision: D2706663 fb-gh-sync-id: 017c91bab849bf18767cacd2ebe32d1a1b10c715
This commit is contained in:
parent
d4d41f9523
commit
892dd5b86a
|
@ -49,11 +49,15 @@ var GeolocationExample = React.createClass({
|
|||
|
||||
componentDidMount: function() {
|
||||
navigator.geolocation.getCurrentPosition(
|
||||
(initialPosition) => this.setState({initialPosition}),
|
||||
(position) => {
|
||||
var initialPosition = JSON.stringify(position);
|
||||
this.setState({initialPosition});
|
||||
},
|
||||
(error) => alert(error.message),
|
||||
{enableHighAccuracy: true, timeout: 20000, maximumAge: 1000}
|
||||
);
|
||||
this.watchID = navigator.geolocation.watchPosition((lastPosition) => {
|
||||
this.watchID = navigator.geolocation.watchPosition((position) => {
|
||||
var lastPosition = JSON.stringify(position);
|
||||
this.setState({lastPosition});
|
||||
});
|
||||
},
|
||||
|
@ -67,11 +71,11 @@ var GeolocationExample = React.createClass({
|
|||
<View>
|
||||
<Text>
|
||||
<Text style={styles.title}>Initial position: </Text>
|
||||
{JSON.stringify(this.state.initialPosition)}
|
||||
{this.state.initialPosition}
|
||||
</Text>
|
||||
<Text>
|
||||
<Text style={styles.title}>Current position: </Text>
|
||||
{JSON.stringify(this.state.lastPosition)}
|
||||
{this.state.lastPosition}
|
||||
</Text>
|
||||
</View>
|
||||
);
|
||||
|
|
|
@ -32,6 +32,7 @@ var NetworkImageCallbackExample = React.createClass({
|
|||
getInitialState: function() {
|
||||
return {
|
||||
events: [],
|
||||
mountTime: new Date(),
|
||||
};
|
||||
},
|
||||
|
||||
|
|
|
@ -24,19 +24,30 @@ var {
|
|||
View,
|
||||
} = React;
|
||||
|
||||
type Layout = {
|
||||
x: number;
|
||||
y: number;
|
||||
width: number;
|
||||
height: number;
|
||||
};
|
||||
|
||||
type LayoutEvent = {
|
||||
nativeEvent: {
|
||||
layout: {
|
||||
x: number;
|
||||
y: number;
|
||||
width: number;
|
||||
height: number;
|
||||
};
|
||||
layout: Layout,
|
||||
};
|
||||
};
|
||||
|
||||
type State = {
|
||||
containerStyle?: { width: number },
|
||||
extraText?: string,
|
||||
imageLayout?: Layout,
|
||||
textLayout?: Layout,
|
||||
viewLayout?: Layout,
|
||||
viewStyle: { margin: number },
|
||||
};
|
||||
|
||||
var LayoutEventExample = React.createClass({
|
||||
getInitialState: function() {
|
||||
getInitialState(): State {
|
||||
return {
|
||||
viewStyle: {
|
||||
margin: 20,
|
||||
|
|
|
@ -31,6 +31,17 @@ var regionText = {
|
|||
longitudeDelta: '0',
|
||||
};
|
||||
|
||||
type MapRegion = {
|
||||
latitude: number,
|
||||
longitude: number,
|
||||
latitudeDelta: number,
|
||||
longitudeDelta: number,
|
||||
};
|
||||
|
||||
type MapRegionInputState = {
|
||||
region: MapRegion,
|
||||
};
|
||||
|
||||
var MapRegionInput = React.createClass({
|
||||
|
||||
propTypes: {
|
||||
|
@ -43,7 +54,7 @@ var MapRegionInput = React.createClass({
|
|||
onChange: React.PropTypes.func.isRequired,
|
||||
},
|
||||
|
||||
getInitialState: function() {
|
||||
getInitialState(): MapRegionInputState {
|
||||
return {
|
||||
region: {
|
||||
latitude: 0,
|
||||
|
@ -135,19 +146,42 @@ var MapRegionInput = React.createClass({
|
|||
|
||||
_change: function() {
|
||||
this.setState({
|
||||
latitude: parseFloat(regionText.latitude),
|
||||
longitude: parseFloat(regionText.longitude),
|
||||
latitudeDelta: parseFloat(regionText.latitudeDelta),
|
||||
longitudeDelta: parseFloat(regionText.longitudeDelta),
|
||||
region: {
|
||||
latitude: parseFloat(regionText.latitude),
|
||||
longitude: parseFloat(regionText.longitude),
|
||||
latitudeDelta: parseFloat(regionText.latitudeDelta),
|
||||
longitudeDelta: parseFloat(regionText.longitudeDelta),
|
||||
},
|
||||
});
|
||||
this.props.onChange(this.state.region);
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
type Annotations = Array<{
|
||||
animateDrop?: boolean,
|
||||
latitude: number,
|
||||
longitude: number,
|
||||
title?: string,
|
||||
subtitle?: string,
|
||||
hasLeftCallout?: boolean,
|
||||
hasRightCallout?: boolean,
|
||||
onLeftCalloutPress?: Function,
|
||||
onRightCalloutPress?: Function,
|
||||
tintColor?: string,
|
||||
image?: any,
|
||||
id?: string,
|
||||
}>;
|
||||
type MapViewExampleState = {
|
||||
isFirstLoad: boolean,
|
||||
mapRegion?: MapRegion,
|
||||
mapRegionInput?: MapRegion,
|
||||
annotations?: Annotations,
|
||||
};
|
||||
|
||||
var MapViewExample = React.createClass({
|
||||
|
||||
getInitialState() {
|
||||
getInitialState(): MapViewExampleState {
|
||||
return {
|
||||
isFirstLoad: true,
|
||||
};
|
||||
|
@ -171,7 +205,7 @@ var MapViewExample = React.createClass({
|
|||
);
|
||||
},
|
||||
|
||||
_getAnnotations(region) {
|
||||
_getAnnotations(region): Annotations {
|
||||
return [{
|
||||
longitude: region.longitude,
|
||||
latitude: region.latitude,
|
||||
|
@ -205,9 +239,14 @@ var MapViewExample = React.createClass({
|
|||
|
||||
});
|
||||
|
||||
type CalloutMapViewExampleState = {
|
||||
isFirstLoad: boolean,
|
||||
annotations?: Annotations,
|
||||
mapRegion?: MapRegion,
|
||||
};
|
||||
var CalloutMapViewExample = React.createClass({
|
||||
|
||||
getInitialState() {
|
||||
getInitialState(): CalloutMapViewExampleState {
|
||||
return {
|
||||
isFirstLoad: true,
|
||||
};
|
||||
|
@ -243,9 +282,14 @@ var CalloutMapViewExample = React.createClass({
|
|||
|
||||
});
|
||||
|
||||
type CustomPinColorMapViewExampleState = {
|
||||
isFirstLoad: boolean,
|
||||
annotations?: Annotations,
|
||||
mapRegion?: MapRegion,
|
||||
};
|
||||
var CustomPinColorMapViewExample = React.createClass({
|
||||
|
||||
getInitialState() {
|
||||
getInitialState(): CustomPinColorMapViewExampleState {
|
||||
return {
|
||||
isFirstLoad: true,
|
||||
};
|
||||
|
@ -278,9 +322,14 @@ var CustomPinColorMapViewExample = React.createClass({
|
|||
|
||||
});
|
||||
|
||||
type CustomPinImageMapViewExampleState = {
|
||||
isFirstLoad: boolean,
|
||||
annotations?: Annotations,
|
||||
mapRegion?: MapRegion,
|
||||
};
|
||||
var CustomPinImageMapViewExample = React.createClass({
|
||||
|
||||
getInitialState() {
|
||||
getInitialState(): CustomPinImageMapViewExampleState {
|
||||
return {
|
||||
isFirstLoad: true,
|
||||
};
|
||||
|
@ -313,9 +362,25 @@ var CustomPinImageMapViewExample = React.createClass({
|
|||
|
||||
});
|
||||
|
||||
type Overlays = Array<{
|
||||
coordinates?: Array<{
|
||||
latitude: number,
|
||||
longitude: number,
|
||||
}>,
|
||||
lineWidth?: number,
|
||||
strokeColor?: string,
|
||||
fillColor?: string,
|
||||
id?: string,
|
||||
}>;
|
||||
type CustomOverlayMapViewExampleState = {
|
||||
isFirstLoad: boolean,
|
||||
overlays?: Overlays,
|
||||
annotations?: Annotations,
|
||||
mapRegion?: MapRegion,
|
||||
};
|
||||
var CustomOverlayMapViewExample = React.createClass({
|
||||
|
||||
getInitialState() {
|
||||
getInitialState(): CustomOverlayMapViewExampleState {
|
||||
return {
|
||||
isFirstLoad: true,
|
||||
};
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* @flow-weak
|
||||
* @flow weak
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
|
@ -79,7 +79,8 @@ var PanResponderExample = React.createClass({
|
|||
},
|
||||
|
||||
_highlight: function() {
|
||||
this.circle && this.circle.setNativeProps({
|
||||
const circle = this.circle;
|
||||
circle && circle.setNativeProps({
|
||||
style: {
|
||||
backgroundColor: processColor(CIRCLE_HIGHLIGHT_COLOR)
|
||||
}
|
||||
|
@ -87,7 +88,8 @@ var PanResponderExample = React.createClass({
|
|||
},
|
||||
|
||||
_unHighlight: function() {
|
||||
this.circle && this.circle.setNativeProps({
|
||||
const circle = this.circle;
|
||||
circle && circle.setNativeProps({
|
||||
style: {
|
||||
backgroundColor: processColor(CIRCLE_COLOR)
|
||||
}
|
||||
|
|
|
@ -99,7 +99,7 @@ var PickerExample = React.createClass({
|
|||
{CAR_MAKES_AND_MODELS[this.state.carMake].models.map(
|
||||
(modelName, modelIndex) => (
|
||||
<PickerItemIOS
|
||||
key={this.state.carmake + '_' + modelIndex}
|
||||
key={this.state.carMake + '_' + modelIndex}
|
||||
value={modelIndex}
|
||||
label={modelName}
|
||||
/>
|
||||
|
|
|
@ -116,7 +116,7 @@ class UIExplorerListBase extends React.Component {
|
|||
search(text: mixed): void {
|
||||
this.props.search && this.props.search(text);
|
||||
|
||||
var regex = new RegExp(text, 'i');
|
||||
var regex = new RegExp(String(text), 'i');
|
||||
var filter = (component) => regex.test(component.title);
|
||||
|
||||
this.setState({
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
* AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* @noflow
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
|
@ -113,4 +114,4 @@ var styles = StyleSheet.create({
|
|||
},
|
||||
});
|
||||
|
||||
module.exports = XHRExampleHeaders;
|
||||
module.exports = XHRExampleHeaders;
|
||||
|
|
|
@ -24,8 +24,15 @@ var deepDiffer = require('deepDiffer');
|
|||
|
||||
var TEST_PAYLOAD = {foo: 'bar'};
|
||||
|
||||
type AppEvent = { data: Object, ts: number, };
|
||||
type State = {
|
||||
sent: 'none' | AppEvent,
|
||||
received: 'none' | AppEvent,
|
||||
elapsed?: string,
|
||||
};
|
||||
|
||||
var AppEventsTest = React.createClass({
|
||||
getInitialState: function() {
|
||||
getInitialState(): State {
|
||||
return {sent: 'none', received: 'none'};
|
||||
},
|
||||
componentDidMount: function() {
|
||||
|
|
|
@ -39,10 +39,12 @@ TESTS.forEach(
|
|||
// Modules required for integration tests
|
||||
require('LoggingTestModule');
|
||||
|
||||
type Test = any;
|
||||
|
||||
var IntegrationTestsApp = React.createClass({
|
||||
getInitialState: function() {
|
||||
return {
|
||||
test: null,
|
||||
test: (null: ?Test),
|
||||
};
|
||||
},
|
||||
render: function() {
|
||||
|
|
|
@ -27,19 +27,38 @@ function debug() {
|
|||
// console.log.apply(null, arguments);
|
||||
}
|
||||
|
||||
type Layout = {
|
||||
x: number;
|
||||
y: number;
|
||||
width: number;
|
||||
height: number;
|
||||
};
|
||||
type LayoutEvent = {
|
||||
nativeEvent: {
|
||||
layout: {
|
||||
x: number;
|
||||
y: number;
|
||||
width: number;
|
||||
height: number;
|
||||
};
|
||||
layout: Layout;
|
||||
};
|
||||
};
|
||||
type Style = {
|
||||
margin?: number,
|
||||
padding?: number,
|
||||
borderColor?: string,
|
||||
borderWidth?: number,
|
||||
backgroundColor?: string,
|
||||
width?: number,
|
||||
};
|
||||
|
||||
type State = {
|
||||
didAnimation: boolean,
|
||||
extraText?: string,
|
||||
imageLayout?: Layout,
|
||||
textLayout?: Layout,
|
||||
viewLayout?: Layout,
|
||||
viewStyle?: Style,
|
||||
containerStyle?: Style,
|
||||
};
|
||||
|
||||
var LayoutEventsTest = React.createClass({
|
||||
getInitialState: function() {
|
||||
getInitialState(): State {
|
||||
return {
|
||||
didAnimation: false,
|
||||
};
|
||||
|
|
|
@ -74,7 +74,7 @@ type State = {
|
|||
fromIndex: number;
|
||||
toIndex: number;
|
||||
makingNavigatorRequest: boolean;
|
||||
updatingAllIndicesAtOrBeyond: number;
|
||||
updatingAllIndicesAtOrBeyond: ?number;
|
||||
}
|
||||
|
||||
type Event = Object;
|
||||
|
@ -592,7 +592,7 @@ var NavigatorIOS = React.createClass({
|
|||
|
||||
_routeToStackItem: function(route: Route, i: number) {
|
||||
var Component = route.component;
|
||||
var shouldUpdateChild = this.state.updatingAllIndicesAtOrBeyond !== null &&
|
||||
var shouldUpdateChild = this.state.updatingAllIndicesAtOrBeyond != null &&
|
||||
this.state.updatingAllIndicesAtOrBeyond >= i;
|
||||
|
||||
return (
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*
|
||||
* @providesModule TabBarItemIOS
|
||||
* @noflow
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
|
|
|
@ -335,8 +335,12 @@ var TextInput = React.createClass({
|
|||
*/
|
||||
mixins: [NativeMethodsMixin, TimerMixin],
|
||||
|
||||
viewConfig: ((Platform.OS === 'ios' ? RCTTextField.viewConfig :
|
||||
(Platform.OS === 'android' ? AndroidTextInput.viewConfig : {})) : Object),
|
||||
viewConfig:
|
||||
((Platform.OS === 'ios' && RCTTextField ?
|
||||
RCTTextField.viewConfig :
|
||||
(Platform.OS === 'android' && AndroidTextInput ?
|
||||
AndroidTextInput.viewConfig :
|
||||
{})) : Object),
|
||||
|
||||
isFocused: function(): boolean {
|
||||
return TextInputState.currentlyFocusedField() ===
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*
|
||||
* @providesModule ToastAndroid
|
||||
* @noflow
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@ type Event = Object;
|
|||
|
||||
type State = {
|
||||
animationID: ?number;
|
||||
scale: Animated.Value;
|
||||
};
|
||||
|
||||
var PRESS_RETENTION_OFFSET = {top: 20, left: 20, right: 20, bottom: 30};
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*
|
||||
* @providesModule TouchableHighlight
|
||||
* @noflow
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*
|
||||
* @providesModule TouchableOpacity
|
||||
* @noflow
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @providesModule NavigationContext
|
||||
* @noflow
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*
|
||||
* @providesModule renderApplication
|
||||
* @noflow
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*
|
||||
* @providesModule AsyncStorage
|
||||
* @noflow
|
||||
* @flow-weak
|
||||
*/
|
||||
'use strict';
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
* Copyright 2004-present Facebook. All Rights Reserved.
|
||||
*
|
||||
* @providesModule MatrixMath
|
||||
* @noflow
|
||||
*/
|
||||
/* eslint-disable space-infix-ops */
|
||||
'use strict';
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
*
|
||||
* @providesModule EmitterSubscription
|
||||
* @noflow
|
||||
* @typechecks
|
||||
*/
|
||||
'use strict';
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
* of patent rights can be found in the PATENTS file in the same directory.
|
||||
*
|
||||
* @providesModule EventEmitter
|
||||
* @noflow
|
||||
* @typechecks
|
||||
*/
|
||||
|
||||
|
|
Loading…
Reference in New Issue