React : Redux Toolkit & Immer.js

최문길·2024년 1월 11일
1

react

목록 보기
13/14

Immer와 함께 Reducer 작성하기
변경 불가능한 업데이트 로직을 손으로 작성하는 것은 어렵고, 리듀서에서 실수로 상태를 변경하는 것은 Redux 사용자가 저지르는 가장 흔한 실수입니다.

Redux Toolkit의 createReducer 및 createSlice는 자동으로 Immer를 내부적으로 사용하여 "변이" 구문을 사용하여 간단하게 불변 업데이트 논리를 작성할 수 있도록 합니다. 리듀서 구현을 단순화하는 데 도움이 됩니다.

가변 업데이트를 하면 안되는 이유
Redux의 기본 규칙 중 하나는 리듀서가 원래/현재 상태 값을 변경할 수 없다는 것입니다.
// ❌ Illegal - by default, this will mutate the state!
state.value = 123

Redux에서 상태를 변경하지 말아야 하는 몇 가지 이유가 있습니다.

최신 값을 표시하기 위해 UI가 제대로 업데이트 되지 않는 등의 버그가 발생합니다.
상태가 업데이트된 이유와 방법을 이해하기 어렵게 만듭니다.
테스트 작성을 어렵게 만듭니다.
"시간 여행 디버깅"을 올바르게 사용하는 기능이 중단됩니다.
Redux의 의도된 정신과 사용 패턴에 어긋납니다.
출처: https://itchallenger.tistory.com/706 [Development & Investing:티스토리]

0개의 댓글