import produce from 'immer';
const nextState = produce(originalState, draft => {
draft.somewhere.deep.inside = 5;
})
1. (문제) 만약 깊이가 100 정도 되는 객체 혹은 배열이 있다고 가정하면,, 너의 불변성을 지키며 업데이트 하는 것은 쉽지 않을 것 가타..
2. (해결) = immer 라이브러리 사용!
produce 함수는 두 가지 파라미터를 받는다. 첫 번째 파라미터는 수정하고 싶은 상태, 두 번째 파라미터는 상태를 어떻게 업데이트할지 정의하는 함수이다. 이를 통해 쉽게 불변성을 유지하며 업데이트를 할 수 있게 되었다!
'꼬리에 꼬리를 무는 코딩' 카테고리의 다른 글
2022.10.03 꼬꼬코 immer 라이브러리는 어떤 원리로 동작하는가? (1) | 2022.10.03 |
---|---|
2022.10.02 꼬꼬코 immer 라이브러리 심화 (0) | 2022.10.03 |
2022.09.30 꼬꼬코 react-virtualized 를 사용한 렌더링 최적화 (1) | 2022.09.30 |
2022.09.29 꼬꼬코 React.memo 를 사용한 컴포넌트 성능 최적화 (1) | 2022.09.29 |
2022.09.28 꼬꼬코 전개 연산자(...문법)와 얕은 복사(shallow copy) (0) | 2022.09.28 |
댓글