Каков наилучший способ обновления состояния с использованием заданного состояния? - PullRequest
0 голосов
/ 16 января 2020

Я пытался обновить состояние массива, но он продолжал давать сбой, и, наконец, решил сделать это, используя оператор присваивания, который, как я знаю, не очень хорош. на данный момент он работает нормально, но я бы хотел использовать setState вместо

Текущий код

this.state.Days[selectedDay].selected = this.state.Days[selectedDay].selected == true ?  false : true

Я пытался сделать это, но это не сработало

this.setstate{Days[selectedDay]: {selected: (this.state.Days[selectedDay].selected: == true ?  false : true) } }

спасибо

Ответы [ 2 ]

0 голосов
/ 16 января 2020
const Days = this.state.Days;
Days[selectedDay].selected = ! Days[selectedDay].selected;
this.setState({Days});
0 голосов
/ 16 января 2020

Вот как вы можете установитьState

state={
 selected:false
}

код функции

handleSelect=item=>{
 this.setState({selected: item})
}

html код, подобный этому

<div onClick={()=>this.handleSelec(true)}></div>
...