神坑react native之react-native-swiper组件导入react-navigation中不显示文字图片等内容的解决方案

开发环境:react native:0.51  , react-native-swiper:1.5.6 , react-navigation:1.0.0 beta27

APP主要架构使用的是react-navigation组件的TabNavigator实现底部tab切换,但是在首屏中引入封装好的 react-native-swiper模块,左右切换箭头和圆点指示器是有的,但里面的文字和图片就是不显示。

这是APP在初始渲染的时候,react-native-swiper和react-navigation有冲突导致的,解决思路是让react-native-swiper的render方法用定时器延迟一下,具体方法如下:

constructor(){
    super();
    this.state = {
        swiperShow:false,
    };
}

componentDidMount(){
    setTimeout(()=>{
        this.setState({
            swiperShow:true
        });
    },0)
}

render(){
    if(this.state.swiperShow){
        return (
                <Swiper style={styles.wrapper} height={200} showsButtons={true}>
                    <View style={styles.slide1}>
                        <Text style={styles.text}>Hello Swiper</Text>
                    </View>
                    <View style={styles.slide2}>
                        <Text style={styles.text}>Beautiful</Text>
                    </View>

                </Swiper>
        )
    }else{
        return <View></View>
    }
}

注意,在render方法里判断的时候一定要加上else,否则会有如下红屏报错:

 

 

关于博主
骨灰级博客玩家
国内第一批90后网站站长/程序员
做过七年前端讲师
目前从事锦鲤观赏鱼电商行业
鱼贝贝锦鲤创始人
文章列表
1
再谈HBuilder自动编译less文件的设置方法
再谈HBuilder自动编译less文件的设置方法
2
Adobe Acrobat DC 2018 打开报错“adobe 在要求的应用程序库或文件中检测到错误,产品无法继续运行。请重新安装应用程序”的原因及解决方案
Adobe Acrobat DC 2018 打开报错“adobe 在要求的应用程序库或文件中检测到错误,产品无法继续运行。请重新安装应用程序”的原因及解决方案
3
拒绝花里胡哨!360安全浏览器设置新建标签页为空白页的方法
拒绝花里胡哨!360安全浏览器设置新建标签页为空白页的方法
4
WordPress网站所有分类目录页面都显示最新发布文章的解决方法
WordPress网站所有分类目录页面都显示最新发布文章的解决方法
5
给网站添加标题栏ico小图标的方法
给网站添加标题栏ico小图标的方法
最新评论
比比拉布
比比拉布
5月7日
太感谢了!!!!!!找了这么多的教程,只有你点出来了关键点——设计视图!!!!
Jake
Jake
3月7日
Halo 啊~麻烦更新下我的博客地址,原名:Jing Blog。麻烦更新如下: Jake Blog(后缀可以省略,也可以保留,看哪个风格适合) 网址:htt
评论于关于博主