我是React-Native的新手,并且正在尝试制作一个通过3个WebView(使用React-Native-Swiper,swiper包含3个WebViews)来制作一个组件,每个网络视图)有动画。代码是这样的 -
<Swiper autoplay={true} loop={false} >
<View style={this.styles.slide1}>
<WebView source = {require(‘./Page1.html')} />
</View>
<View style={this.styles.slide2}>
<WebView source = {require(‘./Page2.html')}/>
</View>
<View style={this.styles.slide3}>
<WebView source = {require(‘./Page3.html’)}/>
</View>
</Swiper>
第一个网络视图正常工作,但是到后续网络浏览量显示时,它们的动画已经完成,因为它们在仍在显示第一个网络浏览量的同时完成了加载。是否有任何方法可以将URL从加载延迟到准备在屏幕上显示为止?
例如:
constructor(props){
super(props);
this.state = {
shouldShowWebView: false
};
}
componentDidMount(){
this.setState({shouldShowWebView: true})
}
render(){
return(
<View>{this.state.shouldShowWebView ? <WebView /> : <View />}</View>
);
}
将shouldShowWebView
的初始值设置为false
。每当您想显示它时,将值设置为true
。例如在componentDidMount
中。并在渲染中检查其值是否为 true
。(条件渲染)希望这会有所帮助。