该条件满足后,功能停止工作。我的条件也要执行,直到数组的长度小于等于4(<= 4)为止。因此,它可以正确执行直到长度达到5(0、1、2、3、4),然后停止在此处,即使在4处条件应该正在运行,但仍会移至else函数,
这是我的代码:
onPressSelectionHandler(day) {
this.state.selectedDateByOnPress <= 4 ? (
this.setState(prevState => ({
selectedDateByOnPress: [
...(prevState.selectedDateByOnPress.some(d => d.dateString === day.dateString)
? prevState.selectedDateByOnPress.filter(d => d.dateString !== day.dateString)
: [...prevState.selectedDateByOnPress, day])
],
daysing: day
}))
) : (
<Text>Not allowed</Text>
);
}
因此,以上函数在每个onPress活动触发时设置状态,但我想将状态“ selectedDateByOnPress”限制为最大5。因此,我保持条件的长度。
但是,当再次按下时,条件正在移到,我需要的是,当长度达到4时,则只需要执行第一个函数。但是我不知道它为什么继续前进。希望大家理解问题。