const toggleAlarmSelection = (AlarmId) => {
const index = selectedAlarms.indexOf(AlarmId);
if (index !== -1) {
const updatedSelections = [...selectedAlarms];
updatedSelections.splice(index, 1);
setSelectedAlarms(updatedSelections);
} else {
setSelectedAlarms([...selectedAlarms, AlarmId]);
}
};
AlarmId가 selectedAlarms 배열에 아직 없으면 확산 연산자 [...selectedAlarms] 및 배열 연결 연산자 [AlarmId]를 사용하여 배열 끝에 추가한다. 새 배열로 selectedAlarms 상태를 업데이트한다.
이 기능은 목록 또는 확인란 그룹에서 항목을 선택 및 선택 해제하는 것과 같이 배열에서 항목 선택을 토글해야 하는 시나리오에서 유용합니다.
const removeSelectedAlarms = () => {
selectedAlarms.forEach((AlarmId) => {
dispatch(__removeAlarm(AlarmId));
});
setSelectedAlarms([]);
};