为什么React.js条件渲染在iOS 9及更低版本中无效?

时间:2017-11-27 16:54:17

标签: ios reactjs if-statement rendering state

如果我从数据库中获取数据,我有多个组件遵循此呈现结构。基本上,在componentWillMount()上,我从我的API获取数据,而这发生了一个微调器显示在屏幕上,这是else if语句。加载数据后,if语句应该在我的桌面上运行,而iPhone 5& iOS 11上的iPad mini。但是,如果我在我的iPhone 6和iPad上测试我的网站,这是在iOS 9.3.3上。该网站陷入第二个if if语句。基本上,微调器只是停留,并且在加载时从不切换到显示数据。这是iOS 9问题还是基于我编写渲染功能的方式? 我应该补充一点,这种渲染格式适用于某些页面,而其他页面则不起作用。如果页面正在进行嵌套渲染,则使用它将无效。 Sample code that doesn't work

Code that does work

renderPage(){
    if(this.state.productDataLoaded && this.state.productData){
        return(
            <div className="single-brand">
                <h1 className="ui header">Shopping Bag</h1>
                <div className="page-container ui container">
                    {this.renderClothing()}
                </div>
            </div>
        )
    }else if(this.state.productDataLoaded === false ){
        return(
            <div className="ui active inverted dimmer">
                <div className="ui indeterminate text loader">Preparing Files</div>
            </div>
        )
    }else{
        return(
            // returns 404
        )
    }
}
render(){
    return(
        <section id="cart">
            {this.renderPage()}
        </section>
    )
}

0 个答案:

没有答案