React native React本地图像在内容之后加载第二个
我有一个本地图像,我正在使用作为背景图像。它在其余内容之后加载大约一秒钟React native React本地图像在内容之后加载第二个,react-native,react-native-android,React Native,React Native Android,我有一个本地图像,我正在使用作为背景图像。它在其余内容之后加载大约一秒钟 <Image source={require('./assets/climbing_mountain.jpeg')} style={styles.imageContainer}> imageContainer: { flex: 1, width: null, height: null, } 图像容器:{ 弹性:1, 宽度:空, 高度:空, } 有没有办法在加载图像后加载内容?我试过使用和
<Image source={require('./assets/climbing_mountain.jpeg')} style={styles.imageContainer}>
imageContainer: {
flex: 1,
width: null,
height: null,
}
图像容器:{
弹性:1,
宽度:空,
高度:空,
}
有没有办法在加载图像后加载内容?我试过使用和道具,但它们在加载图像之前就被触发了。是的,有。。其实并不是那么简单,你需要使用图像预取。。检查此链接: 或者你可以试试这个:
<Image
onLoadEnd={()=>this.setState({loadEnd:true})}
source={require('./assets/climbing_mountain.jpeg')}
style={styles.imageContainer}>
this.setState({loadEnd:true})
source={require('./assets/granning_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>
....
)
}
}
render(){
如果(!this.state.loadEnd){
返回(
this.setState({loadEnd:true})
source={require('./assets/granning_mountain.jpeg')}
style={styles.imageContainer}>
)
}否则{
返回(
....
this.setState({loadEnd:true})
source={require('./assets/granning_mountain.jpeg')}
style={styles.imageContainer}>
....
)
}
}
谢谢你,@challenger!我实现了您的第二种方法,但正如您所说,它并不理想,因此我将尝试另一种方法。在这种情况下,预回迁不是有效的解决方案,因为它仅适用于远程图像。