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)