import React from 'react'; import { Image } from 'react-native'; import { AppLoading, Asset } from 'expo'; import { Block, GalioProvider } from 'galio-framework'; import Screens from './navigation/Screens'; import { Images, articles, argonTheme } from './constants'; // cache app images const assetImages = [ Images.Onboarding, Images.LogoOnboarding, Images.Logo, Images.Pro, Images.ArgonLogo, Images.iOSLogo, Images.androidLogo ]; // cache product images articles.map(article => assetImages.push(article.image)); function cacheImages(images) { return images.map(image => { if (typeof image === 'string') { return Image.prefetch(image); } else { return Asset.fromModule(image).downloadAsync(); } }); } export default class App extends React.Component { state = { isLoadingComplete: false, } render() { if(!this.state.isLoadingComplete) { return ( ); } else { return ( ); } } _loadResourcesAsync = async () => { return Promise.all([ ...cacheImages(assetImages), ]); }; _handleLoadingError = error => { // In this case, you might want to report the error to your error // reporting service, for example Sentry console.warn(error); }; _handleFinishLoading = () => { this.setState({ isLoadingComplete: true }); }; }