Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么React.js条件渲染不';iOS 9及以下版本不工作?_Ios_Reactjs_If Statement_Rendering_State - Fatal编程技术网

为什么React.js条件渲染不';iOS 9及以下版本不工作?

为什么React.js条件渲染不';iOS 9及以下版本不工作?,ios,reactjs,if-statement,rendering,state,Ios,Reactjs,If Statement,Rendering,State,如果我从数据库中获取数据,则有多个组件遵循此呈现结构。基本上,在componentWillMount()上,我从我的API获取数据,而此时屏幕上会显示一个微调器,即else if语句。一旦数据被加载,if语句应该在我的桌面上运行,而iphone5和ipadmini在ios11上运行。然而,如果我在iPhone6和iOS9.3.3上的iPad上测试我的网站。网站在第二条else if语句中被卡住。基本上,微调器保持不变,在加载时从不切换以显示数据。这是iOS 9的问题还是基于我编写渲染函数的方式?

如果我从数据库中获取数据,则有多个组件遵循此呈现结构。基本上,在componentWillMount()上,我从我的API获取数据,而此时屏幕上会显示一个微调器,即else if语句。一旦数据被加载,if语句应该在我的桌面上运行,而iphone5和ipadmini在ios11上运行。然而,如果我在iPhone6和iOS9.3.3上的iPad上测试我的网站。网站在第二条else if语句中被卡住。基本上,微调器保持不变,在加载时从不切换以显示数据。这是iOS 9的问题还是基于我编写渲染函数的方式? 我应该补充一点,这种呈现格式在某些页面上有效,而在其他页面上则不起作用。如果页面正在进行嵌套呈现,则使用将无法工作。

renderPage(){
if(this.state.productDataLoaded&&this.state.productData){
返回(
购物袋
{this.rendercothing()}
)
}else if(this.state.productDataLoaded==false){
返回(
准备文件
)
}否则{
返回(
//返回404
)
}
}
render(){
返回(
{this.renderPage()}
)
}

您确定if语句是错误的吗。在我看来,这更像是一个获取资源的问题和我在多部手机上尝试过的响应处理。它也适用于机器人。您看过示例代码了吗?我认为可能状态更改在较旧的iOS上读得不好。您是否使用
create react app
构建您的应用程序?如果
此.state.productData
不是布尔值,您应该使用
强制转换表达式操作员。即使有数据,它也不被认为是“假”值,但最好不要使用类型强制。e、 g.
if(this.state.productDataLoaded&&!!this.state.productData)
为什么?因为[]=true。是的,我用CreateReact应用程序构建了它。这会导致什么样的问题?谢谢你巧妙的小技巧。你确定if语句是错误的吗。在我看来,这更像是一个获取资源的问题和我在多部手机上尝试过的响应处理。它也适用于机器人。您看过示例代码了吗?我认为可能状态更改在较旧的iOS上读得不好。您是否使用
create react app
构建您的应用程序?如果
此.state.productData
不是布尔值,您应该使用
强制转换表达式操作员。即使有数据,它也不被认为是“假”值,但最好不要使用类型强制。e、 g.
if(this.state.productDataLoaded&&!!this.state.productData)
为什么?因为[]=true。是的,我用CreateReact应用程序构建了它。这会导致什么样的问题?谢谢你的小把戏。
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>
    )
}