import React, {Component} from 'react';
import {
ScrollView,
StyleSheet,
Text,
TouchableOpacity,
SafeAreaView,
} from 'react-native';
import examples from './examples';
export default class App extends Component {
state = {
picker: undefined,
};
render() {
return (
{!this.state.picker && 'Examples'}
{!this.state.picker && this.renderButtons()}
{!!this.state.picker && this.renderBackButton()}
{!!this.state.picker && this.renderPicker()}
);
}
setBackgroundColor = backgroundColor => this.setState({backgroundColor});
renderPicker = () => {
const Picker = examples[this.state.picker].component;
return (
);
};
renderButtons = () =>
Object.keys(examples)
.filter(key => key !== this.state.picker)
.map(this.renderButton);
renderButton = key => (
this.setState({picker: key})}
style={{margin: 10}}
>
{examples[key].buttonTitle}
);
renderBackButton = key => (
this.setState({picker: undefined})}
style={{margin: 10, position: 'absolute', top: 30, left: 0}}
>
Go back
);
}
const styles = StyleSheet.create({
container: {
paddingTop: 15,
borderWidth: 1,
},
content: {
alignItems: 'center',
},
text: {
color: 'dodgerblue',
fontSize: 16,
},
header: {
color: 'black',
fontSize: 22,
margin: 20,
},
});