본문 바로가기
꼬리에 꼬리를 무는 코딩

2022.10.01 꼬꼬코 immer 라이브러리

by 치우치지않는 2022. 10. 2.

 

import produce from 'immer';

const nextState = produce(originalState, draft => {

  draft.somewhere.deep.inside = 5; 

})

1. (문제)  만약 깊이가 100 정도 되는 객체 혹은 배열이 있다고 가정하면,, 너의 불변성을 지키며 업데이트 하는 것은 쉽지 않을 것 가타.. 

2. (해결) = immer 라이브러리 사용! 

produce 함수는 두 가지 파라미터를 받는다. 첫 번째 파라미터는 수정하고 싶은 상태, 두 번째 파라미터는 상태를 어떻게 업데이트할지 정의하는 함수이다. 이를 통해 쉽게 불변성을 유지하며 업데이트를 할 수 있게 되었다! 

댓글