import React, { Component } from 'react'
import {
ScrollView,
AppRegistry,
StyleSheet,
Text,
TouchableOpacity,
} from 'react-native'
import examples from './examples'
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: 0, left: 10 }}
>
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,
},
})
AppRegistry.registerComponent('example', () => App)