카테고리 없음

면접 대비 #2 - 리액트 전역 상태 관리

삐옹 2022. 9. 1. 17:25

리액트에서 전역 상태 관리는 어떻게 이루어지나요?(redux 기준)

 

전역 상태를 위해 Redux, Context APi, Mobx, recoil 등의 라이브러리를 이용할 수 있습니다.

그 중 대표적인 redux로 설명을 하자면

컴포넌트에서 액션크리에이터로 액션을 발생시키고 그 액션을 디스패치를 통해 실행시킵니다. 그러면 reducer에서는 해당 액션과 매칭되는 액션이 있는지 확인하고 데이터를 업데이트 시킵니다. 이 모든것을 store라는 하나의 저장소에서 관리합니다

 

recoil 사용 이유?(*난 recoil을 사용했다)

애플리케이션의 규모가 커질 수록 전달해야 하는 props들이 많아지게 되는데 이 경우 코드가 지저분해지고 상태값 관리가 복잡해져 props-drilling이 일어나게됩니다. 이를 막기위해 Redux에서는 store라는 하나의 저장공간에서 모든 상태값을 관리하도록 했습니다. 하지만 redux를 사용할 떄 store, action, reducer같이 신경써야할 boiler plate가 많았고 비동기 데이터를 불러올 때도 redux-sage나 redux-thunk 같은 소스들이 추가적으로 필요했습니다. 직접 recoil을 사용해보니 전역상태관리를 위한 설정이 쉬웠고 recoil에서 지원하는 훅을 이용해 get,set을 하기에 react 문법과 비슷한 부분이 많아 recoil을 사용하게 되었습니다.

 

✅예상 추가질문

recoil 간단히 설명해주세요

recoil의 상태 관리 단위인 atoms,  atoms나 다른 selector의 상태를 받아 동적인 데이터를 반환하는 순수함수 selector,  전역상태 get/set을 위한 hooks 세가지로 이루어져 있습니다.

 

 

 

🙇🏻참고

https://abangpa1ace.tistory.com/212

 

[Recoil] 전역 상태관리 라이브러리 - Recoil 정복기

🧐 서론 굉장히 오랜만에 쓰는 서론인 것 같다!! 그만큼 이 글의 길이가 짧진 않을거라는 마음의 준비 차원일지도? 오랜만에 React를 복기하고 Typescript를 숙달할 겸 예전에 면접과제로 받았던 메

abangpa1ace.tistory.com