import React, { Component } from 'react'; import { ScrollView, StyleSheet, Text, TouchableOpacity } from 'react-native'; import examples from './examples'; export default class App extends Component { state = { picker: undefined, backgroundColor: "#ffffff", } 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, }, content: { alignItems: 'center', // flex: 1, }, text: { color: 'dodgerblue', fontSize: 16, }, header: { color: 'black', fontSize: 22, margin: 20, } })