# Immer

React 라이브러리 Immer
Immer useReducer를 사용할때 중첩된 객체가 많으면 많을 수록 불변성의 특징으로 인해 코드가 복잡해진다. 좀 더 직관적인 방법으로 코드를 작성하고 싶다면 Immer를 사용하면 된다. Immer는 직접 관리해야 되는 불변성을 대신 관리해준다고 생각하면 된다.
(번역) State에서 객체 업데이트하기 - NEW 리액트 공식문서
State는 모든 종류의 JS 값을 담을 수 있다. 당연히 객체 포함! 그러나 state에서 직접적으로 객체를 바꾸면 안된다. 그렇게 하지 말고, 새로운 객체를 만들어서 (아니면 기존 객체를 copy) 그 사본으로 state를 설정해라! > ### 이 문서에서는..

[JavaScript] React의 불변성 관리
React에서 배열이나 객체를 업데이트 해야 할 때에는 직접 수정하면 안되며, 반드시 불변성을 지켜주면서 업데이트를 해야 한다.
React - immer, useImmer
useState로 상태를 관리하던 중 array/object 자료를 수정, 추가, 삭제할때 중첩 객체와 같이 자료가 복잡해지면 스프레드 연산자를 사용하여 객체를 복사하여 수정, 추가, 삭제와 같은 조작을 했을때 코드가 직관적이지 않고 알아보기 힘들 수 있다. 이를 스프
카카오 클라우드 스쿨 12월 9일 (데이터불변성), React Routing
불변성 > + React 에서는 props와 useState로 만든 데이터는 원본을 수정할 수 없습니다. Routing > + 요청 URL에 따라 분기를 해서 출력을 하는 것 SPA(Single Page Application) 1)Server Rendering
[React] 불변성 유지하기
불변성 유지하기: 1. 전개 연산자와 배열의 내장 함수를 통해 배열 혹은 객체를 복사하여 불변성을 유지하며 업데이트 할 수 있음. 2. immer 라이브러리를 사용하면 불변성을 크게 신경쓰지 않아도 불변성 관리를 할 수 있다.
Immer 톺아보기
https://immerjs.github.io/immer/produce >Immer (German for: always) is a tiny package that allows you to work with immutable state in a more conveni

immer
immer는 currentState의 프록시객체인 임시 draftState를 생성하여 수정, nextState를 생성하게 된다. 불변성을 유지하기위해 기존 reducer에서는 전개연산자 ,concat, filter, map같은 함수를 이용했지만, 가독성이 떨어지면 직관

리덕스 툴킷에서 immer 라이브러리 에러
immer 라이브러리 특성상, 배열이나 'length' 프로퍼티만 사용가능하기 때문에 위와 같이 boolean 값은 사용할 수 없다. 그래서 나는 단지 신호(알림)가 필요하기 때문에 return action.payload.loginSuccess 처럼 불린값을 dispa

createSlice 의 reducers 로 state 의 값 다루기
state 를 바꾸고 싶으면 copy 뜨고 copy 한 값을 바꿔서 리턴하자

[React] typescript + zustand에 immer 적용하기
React ts 환경에서 zustand 사용시 immer 적용하는 방법

redux-action으로 action 관리하기 및 Immer으로 불변성 유지하기
firebase 데이터베이스에 임의로 구현한 데이터를 가져와서 값을 넘겨주는 함수를 구현하는데 이때 Javascript스럽게 코드를 구현해 보려고 한다.

[React] immer을 사용하여 더 쉽게 불변성 유지하기
<리액트를 다루는 기술> 12장 immer을 사용하여 더 쉽게 불변성 유지하기

#36.TIL | Immer
기존 리액트에서 배열이나 객체를 업데이트 해야 할때는 직접 원본을 수정하면 안되고, 아래와 같이 불변성을 지켜주면서 업데이트를 해주어야 했다.배열도 마찬가지로 push, splice 등 원본을 바꾸는 메서드가 아닌 concat, filter, map 등 새로운 배열을