inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

문법 공부 다음엔, 자바스크립트 프로젝트 101

To Do List (응용)

To Do LIst(응용) 질문

해결된 질문

346

뭉치

작성한 질문수 2

0

 안녕하세요! 강의보다가 질문이 생겨 작성합니다.

To Do LIst(응용) 중 삭제 기능이 있는 코드인데요.

const delItem = (event) => {
  const target = event.target.parentElement;

  todos = todos.filter((todo) => todo.id !== parseInt(target.id));
  save();

  //remove 메소드
  target.remove();
};

이 코드에서 아래 코드만 삭제해보면 html 구조내 li 만 삭제되고 localStorage에선 삭제가 안되더라구요!

그 이유가 todo의 아이디와 삭제 버튼이 눌린 타겟의 아이디가 같지않으면 todos 배열에 담고, 저장하기 때문이지요?

(즉, 같은 아이디라면 todos 배열에 저장이 되지않음)


todos = todos.filter((todo) => todo.id !== parseInt(target.id));
save();

javascript

답변 1

0

이룸코딩

뭉치님 안녕하세요!

네 이해하신 바가 맞습니다!
HTML 내에서는 target.remove() 때문에 사라지게 됩니다.
이 부분은 여기를 참고해주세요!

로컬스토리지에는 todos를 저장하는 방식이고,
말씀하신 것처럼 아이디를 기준으로 필터링을 해줌으로써
삭제하고자 하는 요소를 '뺀' 새로운 배열을 만들고 저장하게 됩니다.

0

뭉치

답변 감사합니다~!

state 객체로 묶기

0

8

0

몽고 db 접속 오류

0

18

1

3강 질문

0

38

2

74. 데이터 캐시 - 1 (이론) 강의 영상 누락

0

35

1

2강 nodejs 3단계 설명 질문

0

45

1

imagesLoaded에 관한 질문

0

21

2

useEffect와 lifecycle문의

0

34

2

프론트엔드 학습 수준 문의

0

47

2

리액트 챕터별 코드에서 eslint 설정파일이 없어요

0

53

2

최근 코테, 과제 테스트 트렌드

0

81

2

lucide react 아이콘 설치

0

48

2

17강 zustand store 서버에서 생성

1

47

1

쌤 에러가 계속 나요ㅠㅠ

0

370

2

bmi 계산기 질문있습니다.

0

126

2

재밌게 잘 듣고있어요~

0

292

1

bmi 계산기 css가 적용이 안됩니다

0

395

1

trello-app에서 질문 있습니다

0

383

1

아 네~다시 질문드립니다.

0

254

1

해결되지않는 부분이 있어서 질문드려요

0

306

3

로컬스토리지에만 저장이 되는건?

0

315

1

MIME type Error / video.paused

0

486

1

인터넷 사용여부

0

295

1

vscode 설정

0

420

1

모달강의 관련 CSS 파일

0

413

1