1import { Ionicons } from '@expo/vector-icons'; 2import AppLoading from 'expo-app-loading'; 3import { Asset } from 'expo-asset'; 4import React, { useEffect, useState } from 'react'; 5import { StyleSheet, View } from 'react-native'; 6 7export default function App() { 8 const [assetsAreLoaded, setAssetsAreLoaded] = useState(false); 9 10 useEffect(() => { 11 loadAssetsAsync(setAssetsAreLoaded); 12 }, []); 13 14 if (!assetsAreLoaded) { 15 return <AppLoading />; 16 } 17 18 return !assetsAreLoaded ? ( 19 <AppLoading /> 20 ) : ( 21 <View style={styles.container}> 22 <Ionicons name="md-options" size={28} /> 23 </View> 24 ); 25} 26 27async function loadAssetsAsync( 28 setAssetsAreLoaded: React.Dispatch<React.SetStateAction<boolean>> 29): Promise<void> { 30 try { 31 await Asset.loadAsync([require('./assets/icon.png')]); 32 } finally { 33 setAssetsAreLoaded(true); 34 } 35} 36 37const styles = StyleSheet.create({ 38 container: { 39 flex: 1, 40 }, 41}); 42