【发布时间】:2019-12-01 17:05:24
【问题描述】:
我正在尝试根据某些条件更新状态,这些条件包括赋予数组中特定对象的值。我尝试了各种语法,这些语法给了我一个错误,例如this.setState(this.state.destinations[i].map(destinations=>destinations.visibilityStatus=false))我知道我写的所有其他东西都在工作,除了 setState。在下面的代码中,您将找到相关函数,其当前语法更新所有对象的可见性状态,而不是特定对象。如何编写 setState 以便理论上以这种方式更新状态 this.setState (this.state.destinations.map(destinations=>destinations.visibilityStatus=false)) 或另一种编写方式(仍然不起作用)this.state.destinations[i].visibilityStatus===false
这里是函数的当前代码,如果您需要更多详细信息,请告知,但通常这已经足够了,因为它更多的是语法问题而不是逻辑结构问题。感谢您的宝贵时间:
updateDestinationsVisibilityStatus=()=>{
for(var i =0; i<this.state.destinations.length; i++){
for( var n=0; n<this.state.destinations[i].visibilityTime.length; n++){
if(this.state.destinations[i].visibilityTime[n].visibility===false && this.state.timerString===this.state.destinations[i].visibilityTime[n].value)
{ this.setState (this.state.destinations.map(destinations=>destinations.visibilityStatus=false))}
else if (this.state.destinations[i].visibilityTime[n].visibility===true && this.state.timerString===this.state.destinations[i].visibilityTime[n].value)
{ this.setState (this.state.destinations.map(destinations=>destinations.visibilityStatus=true))}
console.log(this.state.destinations[i].visibilityStatus)
}
}
}
【问题讨论】:
标签: javascript reactjs frontend setstate