2023-01-19 목요일

·2023년 1월 19일
0

Today I Learned

목록 보기
57/114
post-thumbnail

✏️ 무엇을 배웠나


1. RTK createSlice() 안에는 immer가 내장됨

state를 업데이트할 때는 불변성(Immutable)을 지켜줘야 해서 원본이 아니라 스프레드문법을 사용해서 복사본을 사용해야 한다고 알고 있었는데 생각해보니 리듀서를 작성할 때 스프레드문법을 사용한 적이 없다는 걸 깨닫고 왜일까 찾아봤다.

위 이미지 상단 코드처럼 하는 게 맞는데, 어째서 하단 코드처럼 작성할 수 있었을까?
그 이유는 리덕스 공식문서에 설명되어 있었다.

createSlice는 immer 라이브러리를 사용하는데, 이 immer가 있기 때문에 그동안 내가 의식하지 못하고 쳤던 코드들을 작성할 수 있었던 것. Proxy를 이용해서 상태를 업데이트할 때는 불변성을 지키게 해준다는 건데, 아마도 복사본을 사용하는 건 똑같지만 이 과정들을 생략하게 해주는 로직이 들어 있는 게 아닐까 싶다.

리덕스를 조금 더 이해하게 되어서 남겨둠.

2. 공식문서가 최고다

리덕스/RTK 이해도를 높이려고 공식문서 튜토리얼 파트1~2를 정독했는데 수확이 많았다. 리덕스를 사용해보기 전에 읽었을 때는 영어로 되어 있어서 심리적으로 부담스럽기도 했고 읽어도 무슨 말인지 이해가 되지 않았다. 리덕스/RTK를 몇 번 사용해보고 다시 읽어보니까 의외로 잘 읽혀서 놀라웠음. 그리고 무의식적으로 사용하고 있던 것들을 왜 그렇게 써야 하는지 내부 로직이 뭔지 상세하게 알 수 있어서 좋았다. 한 번 봤다고 다 머리에 담을 수 있는 능력은 없지만 참고할 수 있는 신뢰도 높은 문서가 있다는 새삼 깨닫게 된 것 자체가 오늘의 배움.

🔎 더 알고 싶은 것 / 보완이 필요한 것


1. 나머지 튜토리얼 문서 정독하기


🏷️ 오늘의 코멘트

오늘은 운동하러 가야지

profile
⛰ 프론트엔드 개발 공부 블로그

0개의 댓글