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