인프런 커뮤니티 질문&답변
7-5. 메모 삭제 기능에 문제가 있습니다.
작성
·
233
·
수정됨
1
이슈 함수: deleteMemo
이슈 흐름: "+" 버튼 클릭, 새로운 메모 아이템(Untitled)생성 → memo 2 삭제 → memo 1 삭제
이슈 내용: Untitled 메모 아이템이 있음에도 "메모가 없습니다" 로 처리됨.
이유: 삭제 시 배열의 길이가 달라지면서 index 에 영향이가는데 selectedMemoIndex 값은 그에 따라 변하지 않아서
단순히 index === selectedMemoIndex 의 조건문으로 만족하지 않음.
해결방법: 삭제 시 selectedMemoIndex 에도 새로운 값을 넣어줘야함.
저는 아래와 같이 해결했습니다.
if (index > selectedMemoIndex) {
setSelectedMemoIndex(selectedMemoIndex + 1);
} else if (index < selectedMemoIndex) {
setSelectedMemoIndex(selectedMemoIndex - 1);
} else if (index === selectedMemoIndex) {
setSelectedMemoIndex(0);
}
퀴즈
71%나 틀려요. 한번 도전해보세요!
React에서 배열 형태의 상태를 업데이트할 때, 불변성을 유지하는 올바른 방법은 무엇일까요?
push나 splice로 원본 배열 직접 수정
spread syntax 등으로 새 배열을 만들어 업데이트
일반 변수에 할당 후 업데이트
setter 함수 없이 값을 변경
답변
답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!





