Files
react-native/packages/rn-tester/js/examples/RootViewSizeFlexibilityExample/RootViewSizeFlexibilityExampleApp.js
T
Daniel Sainati 74d5d03dbd pre-suppress Flow errors in xplat ahead of 153 release
Summary:
This pre-suppresses the 153 error diff ahead of its release, since it is large.

Changelog: [Internal]

Reviewed By: mroch

Differential Revision: D28754374

fbshipit-source-id: 1806f53bc7d804644d434583a2dcd6da63d00328
2021-06-01 09:01:26 -07:00

70 lines
1.5 KiB
JavaScript

/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
* @flow
*/
'use strict';
const React = require('react');
const {StyleSheet, Text, TouchableHighlight, View} = require('react-native');
class RootViewSizeFlexibilityExampleApp extends React.Component<
{toggled: boolean, ...},
any,
> {
constructor(props: {toggled: boolean, ...}) {
super(props);
this.state = {toggled: false};
}
_onPressButton() {
this.setState({toggled: !this.state.toggled});
}
render(): React.Node {
const viewStyle = this.state.toggled
? styles.bigContainer
: styles.smallContainer;
return (
// $FlowFixMe[method-unbinding] added when improving typing for this parameters
<TouchableHighlight onPress={this._onPressButton.bind(this)}>
<View style={viewStyle}>
<View style={styles.center}>
<Text style={styles.whiteText}>React Native Button</Text>
</View>
</View>
</TouchableHighlight>
);
}
}
const styles = StyleSheet.create({
bigContainer: {
flex: 1,
height: 60,
backgroundColor: 'gray',
},
smallContainer: {
flex: 1,
height: 40,
backgroundColor: 'gray',
},
center: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
},
whiteText: {
color: 'white',
},
});
module.exports = RootViewSizeFlexibilityExampleApp;