Immutable

서영이·2022년 7월 30일
0

데이터를 추가하는 방법

i) push
ii) Array.from(a)
iiii) Object.assign({}, a)

react와 redux에서는 기존의 정보를 변화 시키지않는 것이 중요하다. 우리가 무엇을 만들려는지에 따라서 다르긴 하겠지만 기존의 정보는 유지한 상태에서 새로운 정보를 추가 하는것이 좋다.

i) push

이때까지 코딩을 할때 뒤에 데이터를 추가하는 방법으로 .push를 사용하여서 원본을 변경하는 방법을 사용하였다. 하지만 state에 데이터를 추가하는 상황이라면 나중에 코드 수정시 문제가 복잡해지는 상황이 올수 있기에 되도록이면 이 기능을 사용하지 않는것이 좋다.
그대신 concat을 사용해준다. cocat은 결합하다의 의미로 원본을 바꾸지 않고 state를 복제해서 데이터를 추가하는 방법이다. push의 원본을 변경하는 기능을 concat으로 보완할수 있다.

ii) Array.from(a);

배열에서 원본을 바꾸지 않고 새로운 복제된 배열을 만드는 코드이다.

var a = [1,2]
var b = Array.from(a) // [1,2]
//같은 값을 가지지만 a!=b이다. 

iii) Object.assign({}, a);

객체 원본을 바꾸지 않고 새롭게 복제된 객체를 만드는 코드이다. 이 코드의 첫번째 객체로는 무조건 빈 {}가 필요하다. 그다음으로 들어가는 객체는 복사되어질 코드를 넣으면 된다.

var a = {id:1, title: HTML, desc: hi!}
var b = Object.assign({}, a);  //b = {id:1, title: HTML, desc: hi!}
profile
방학을 헛투로 쓰지말자

0개의 댓글