불변성을 지켜야하는 이유
immer
import produce from 'immer'; //예시 상태 정의 const state = { number: 1, dontChangeMe: 2 }; //첫번째 파라미터에는 수정하고 싶은 상태(state), //두번째 파라미터에는 어떻게 업데이트하고 싶을지 정의하는 함수를 넣어줍니다. //두번째 파라미터에 넣는 함수에서는 불변성에 대해서 신경쓰지 않고 그냥 업데이트 해주면 다 알아서 해줍니다. const nextState = produce(state, draft => { draft.number += 1; }); //draft가 결국 전체상태임. 상태 중에서 특정 상태를 골라서 업데이트 시키는 것. //==> 결과 state = { number: 2, dontChangeMe: 2 };
draft
는 produce()
함수 첫번째 인자를 그대로 전달받는 것임.
