티스토리 뷰
redux로 state를 관리하면서 원하는 값을 삭제하는 방법 중 개인적으로 가장 쉽게 느껴진 방법을 소개하겠습니다.
아래는 실제 작성된 코드입니다
html 파일에 body 부분

js 파일
paintToDos 함수 내에서 store에 들어있는 state를 새 변수에 (toDos)에 담은 후
저는 toDos에 map을 사용하였고,
( forEach 반복문을 사용해도 무관합니다 여기서 el 은 toDos array에 각각의 데이터입니다 )
html button을 생성하고 생성된 button에 클릭이벤트를 만들어주고 , anymouse function으로
dispatch 하는데
이때 { type : DELETE_TODO , id : el.id } 데이터를 함께 에 보냅니다
el.id 는 각각의 데이터가 생성될 때 입력된 유니크한 id인데,
저는 생성된 id를 이용하여 원하는 데이터를 타깃 하여 삭제하였습니다.
저는 원래 불변성을 지키기 위해 ES6 spread 문법으로 state를 [... state]. map 하려 했는데,
공식문서에서 확인해보니
Array.prototype.filter()
filter() 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환합니다.
불변성 (immutable) (immutable)을 지킬 수 있다는 것이죠.
즉 제가 따로 copy 하여 사용하지 않아도 조건에 맞는 데이터들로 새롭게 생성되어 return 됩니다.!
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
Array.prototype.filter() - JavaScript | MDN
filter() 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환합니다.
developer.mozilla.org
(Tip)같이 알아두면 좋은 또 다른 함수중 splice () 함수가 있는데
Array.prototype.splice()
splice() 메서드는 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경합니다.
즉 splice 함수는 원본 값을 변경 (mutable) 합니다.!
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
이상 redux를 이요한 delete 기능을 구현해보았습니다.
* 잘못된 부분이 있다면 댓글 부탁드립니다 *

'Redux' 카테고리의 다른 글
React-Redux 삭제 방법 2 (추가글) (0) | 2022.02.28 |
---|---|
React-Redux 사용방법 (0) | 2022.02.26 |
Redux state 에 올바른 데이터 추가방법! (0) | 2022.02.26 |
Redux (state 변화를 감지하는 subscribe 함수 ) (0) | 2022.02.25 |
Redux 사용법 ! (0) | 2022.02.25 |
- Total
- Today
- Yesterday
- map set 변환
- e.getMessage()
- Scanner 와 BufferedReader 차이
- redux
- 자바
- java멤버변수
- java전역변수
- java문자열배열
- Java
- java 예외
- e.printStackTrace()
- e.toString()
- java최대값최소값
- Stack Area
- publi
- java숫자형배열
- 클래스영역
- List Set 변환
- Heap Area
- java 배열 출력
- Method 영역
- set
- 기본형타입
- 클래스변수 인스턴스변수 차이
- nexLine
- final 변수 초기화
- mapDispatchToProps
- Dispatch
- react-redux
- 오버로딩
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |