A React component to preload images. It renders a passed component during the loader phase, and renders it's children once the images have been successfully fetched.
npm install react-preload --savevar Preload = require('react-preload').Preload;var loadingIndicator = (<div>Loading...</div>)
var images = [];
<Preload
loadingIndicator={loadingIndicator}
images={images}
autoResolveDelay={3000}
onError={this._handleImageLoadError}
onSuccess={this._handleImageLoadSuccess}
resolveOnError={true}
mountChildren={true}
>
{/* content to be rendered once loading is complete*/}
</Preload> propTypes: {
//Rendered on success
children: React.PropTypes.node.isRequired,
//Rendered during load
loadingIndicator: React.PropTypes.node.isRequired,
//Array of image urls to be preloaded
images: React.PropTypes.array,
//If set, the preloader will automatically show
//the children content after this amount of time
autoResolveDelay: React.PropTypes.number,
//Error callback. Is passed the error
onError: React.PropTypes.func,
//Success callback
onSuccess: React.PropTypes.func,
//Whether or not we should still show the content
//even if there is a preloading error
resolveOnError: React.PropTypes.bool
//Whether or not we should mount the child content after
//images have finished loading (or after autoResolveDelay)
mountChildren: React.PropTypes.bool
}This module also exposes ImageCache and ImageHelper which can be used to preload images
directly, and can be accessed via require('react-preload').ImageCache and
require('react-preload').ImageHelper respectively.