React Native 本地图像在内容加载一秒后加载
React Native local image loads a second after content
我有一张本地图片用作背景图片。它在其余内容加载后大约一秒加载。
<Image source={require('./assets/climbing_mountain.jpeg')} style={styles.imageContainer}>
imageContainer: {
flex: 1,
width: null,
height: null,
}
有没有办法在加载图片后加载内容?我尝试使用 onLoad and onLoadEnd 道具,但它们在图像加载之前被解雇了。
是的..实际上并没有那么简单,您需要使用图像预取..检查这个link:React Image prefetch
或者实际上你可以试试这个:
<Image
onLoadEnd={()=>this.setState({loadEnd:true})}
source={require('./assets/climbing_mountain.jpeg')}
style={styles.imageContainer}>
在渲染方法中你可以做一些我不推荐的事情:
render(){
if(!this.state.loadEnd) {
return(
<Image
key='image_key'
onLoadEnd={()=>this.setState({loadEnd:true})}
source={require('./assets/climbing_mountain.jpeg')}
style={styles.imageContainer}>
)
}else {
return (
<View>
....
<Image
key='image_key'
onLoadEnd={()=>this.setState({loadEnd:true})}
source={require('./assets/climbing_mountain.jpeg')}
style={styles.imageContainer}>
</view>
....
)
}
}
我有一张本地图片用作背景图片。它在其余内容加载后大约一秒加载。
<Image source={require('./assets/climbing_mountain.jpeg')} style={styles.imageContainer}>
imageContainer: {
flex: 1,
width: null,
height: null,
}
有没有办法在加载图片后加载内容?我尝试使用 onLoad and onLoadEnd 道具,但它们在图像加载之前被解雇了。
是的..实际上并没有那么简单,您需要使用图像预取..检查这个link:React Image prefetch
或者实际上你可以试试这个:
<Image
onLoadEnd={()=>this.setState({loadEnd:true})}
source={require('./assets/climbing_mountain.jpeg')}
style={styles.imageContainer}>
在渲染方法中你可以做一些我不推荐的事情:
render(){
if(!this.state.loadEnd) {
return(
<Image
key='image_key'
onLoadEnd={()=>this.setState({loadEnd:true})}
source={require('./assets/climbing_mountain.jpeg')}
style={styles.imageContainer}>
)
}else {
return (
<View>
....
<Image
key='image_key'
onLoadEnd={()=>this.setState({loadEnd:true})}
source={require('./assets/climbing_mountain.jpeg')}
style={styles.imageContainer}>
</view>
....
)
}
}