강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

김찬기님의 프로필 이미지
김찬기

작성한 질문수

실무 중심! FE 입문자를 위한 React

7-5. 메모 삭제 기능 구현

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 함수 없이 값을 변경

답변

답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!
김찬기님의 프로필 이미지
김찬기

작성한 질문수

질문하기