A cache-image for react-native with using Realm
npm install react-native-realm-cache-imagesh
npm install --save react-native-realm-cache-image
`
Usage
$3
`js
'use strict';
var Realm = require('realm');
var React = require('react-native');
var {
StyleSheet,
View,
} = React;
var CacheImage = require('react-native-realm-cache-image');
// You can push schema wrote by self into this array.
var _realm = new Realm({schema: CacheImage.getSchemaRealm()});
CacheImage.setup(_realm);
var CacheImageIdMgr = {
CACHE_ID_USER_HEAD: 0,
CACHE_ID_USER_HEAD1: 1,
CACHE_ID_USER_HEAD2: 2,
};
var SERVER = 'http://192.168.1.117:3000/';
module.exports = React.createClass({
render: function() {
return (
resizeMode='stretch'
defaultImage={app.img.tabnav_list}
url={SERVER+"1.png"}
style={styles.image}
cacheId={CacheImageIdMgr.CACHE_ID_USER_HEAD}
/>
resizeMode='stretch'
defaultImage={app.img.tabnav_list}
url={SERVER+"2.png"}
style={styles.image}
cacheId={CacheImageIdMgr.CACHE_ID_USER_HEAD1}
/>
resizeMode='stretch'
defaultImage={app.img.tabnav_list}
url={SERVER+"3.png"}
style={styles.image}
cacheId={CacheImageIdMgr.CACHE_ID_USER_HEAD2}
/>
);
}
});
var styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
image: {
width:200,
height:200,
}
});
`
#### Props
This module supports react-native Image's props all.
- defaultImage : PropTypes.string.isRequired - local image for default image
- url : PropTypes.string.isRequired - the url of web image
* format: 'http://{server}/{name}.png' or 'http://{server}/{name}.jpg'
* must have jpg or png suffix
* {name} must have version. e.g: first version is verison1.jpg, when you want to update image, you can use verison2.jpg, otherwise this module will not download image
- cacheId : PropTypes.number.isRequired - the unique image id for a CacheImage
* make sure every CacheImage's cacheId is unique
* like
* ` var CacheImageIdMgr = {
CACHE_ID_USER_HEAD: 0,
CACHE_ID_USER_HEAD1: 1,
CACHE_ID_USER_HEAD2: 2,
}; ``