我有一个 React 应用程序,其界面允许用户选择日期和时间段。我有一个维护状态的顶级对象,它可能如下所示:
this.state = {
days: [{
date: '12-13-2022',
time_slots: [{
start: '10 am',
end: '11 am',
selected: false
},{
start: '1 pm',
end: '3 pm',
selected: false
}]
}, {
date: '12-14-2022',
time_slots: [{
start: '10 am',
end: '11 am',
selected: false
}
}]
}
当用户单击某个时间段时,我想将该selected属性更新为true.
到目前为止,我有这个,但我认为我正在改变状态,这是不好的做法。
slotClicked(day_index, slot_index) {
let state = this.state.days[day_index].time_slots[slot_index].selected = true;
this.setState({state});
}
我如何以有效的(在重新渲染方面)和不可变的方式更新状态?
森栏
江户川乱折腾
相关分类