Immer를 사용하여 객체의 속성 추가 및 삭제하기

먼저, Immer를 설치해야 합니다. npm을 사용한다면, 다음 명령을 실행하세요:

npm install immer

설치가 완료되면, Immer를 사용하여 객체의 속성을 추가 및 삭제할 수 있습니다. 아래는 간단한 예제입니다.

import produce from 'immer';

const originalObj = {
  name: 'John',
  age: 25,
};

// 객체의 속성 추가하기
const newObj = produce(originalObj, draftObj => {
  draftObj.location = 'Seoul';
});

console.log(newObj);
// 출력: { name: 'John', age: 25, location: 'Seoul' }

// 객체의 속성 삭제하기
const newObj2 = produce(originalObj, draftObj => {
  delete draftObj.age;
});

console.log(newObj2);
// 출력: { name: 'John' }

위의 예제에서, produce 함수를 사용하여 기존 객체 originalObj를 수정하는 newObjnewObj2를 생성했습니다. produce 함수의 첫 번째 매개변수는 수정하고자 하는 객체이고, 두 번째 매개변수는 수정 작업을 수행하는 함수입니다. 이 함수 내부에서 draftObj라는 임시 객체를 사용하여 원본 객체를 수정할 수 있습니다.

newObjlocation 속성이 추가된 새로운 객체를 반환하고, newObj2age 속성이 삭제된 새로운 객체를 반환합니다. 이러한 방식으로 Immer를 사용하면 객체의 속성을 손쉽게 추가하거나 삭제할 수 있습니다.

Immer는 객체의 속성을 수정하는 작업을 간편하게 만들어주는 동시에, 원본 객체를 수정하지 않고 불변성을 유지할 수 있는 장점이 있습니다. 따라서, Immer를 사용하여 객체를 조작하면서 버그를 예방하고 코드의 유지보수성을 높일 수 있습니다.

#Immer #불변성