import React from 'react'; import { StyleSheet, ScrollView, Text, View } from 'react-native'; import { NavigationScreenProps, NavigationScreenConfig } from 'react-navigation'; import examples from './examples'; export default class SVGExampleScreen extends React.Component { static navigationOptions: NavigationScreenConfig<{}> = ({ navigation }) => { return { title: navigation.getParam('title', 'An SVG Example'), }; } renderSample = (Sample: React.ComponentType & { title: string }, index: number) => ( {Sample.title} ) renderNoExample = () => No example found.; renderContent = () => { const example = examples[this.props.navigation.getParam('key')]; if (!example) { return this.renderNoExample(); } const { samples } = example; return samples.map(this.renderSample); } render() { return ( {this.renderContent()} ); } } const styles = StyleSheet.create({ container: { ...StyleSheet.absoluteFillObject, }, contentContainer: { alignItems: 'center', justifyContent: 'center', }, example: { paddingVertical: 25, alignSelf: 'stretch', alignItems: 'center', borderBottomWidth: StyleSheet.hairlineWidth, borderBottomColor: '#ccc', }, sampleTitle: { marginHorizontal: 15, fontSize: 16, color: '#666', }, });