TIL - 2022.05.09(원티드 프리온보딩)

JOON HYUK LEE ·2022년 5월 9일
0

TIL

목록 보기
5/21

프리온보딩 과정을 진행 중에 기업에서 recoil 스팩을 원해서 상태관리 라이브러리를 공부해보고 싶었는데 겸사겸사 공부하는 시간을 갖었다.

Recoil

  • 상태관리 라이브러리를 쓰는이유
    기존의 state는 컴포넌트 상위요소에서 선언한 state를 하위에서 공유할 수 있지만 불필요한 렌더링을 야기함 redux mobx 등등 다양한 상태관리 라이브러리가 있지만 Recoil은 react를 만든 facebook에서 만들었기 때문에 react에 더 잘 어울리지 않을까? 기대를...

  • 사용법
    일단 Recoil은 배우기가 쉬운편 API가 단순하고 이미 hook을 사용하고 있는 사람들에게 익숙할 것이다. Recoil을 시작하기 위해서는 어플리케이션을 RecoilRoot로 감싸고, 데이터를 atom이라는 단위로 선언하여 useState를 Recoil의 useRecoilState로 대체한다.
    이렇게 atom으로 상태 하나를 정의하고 그것을 구독하는 패턴으로 코드를 짠다.

atom들로 파생된 상태를 selector로 선언, 구독한 atom이 변화하면 자동적으로 selector가 변화한다.

  • 렌더링 최적화
    recoil에서는 atom과 selector를 구독하면 구독한 컴포넌트만 재렌더링이 일어난다.

  • 비동기처리
    selector에서 비동기 처리나 캐싱을 지원하여 useRecoilValueLoadable을 사용하면 hasValue, loading, hasError 상태를 제공하여 로딩완료, 로딩, 에러 분기처리가 쉽다

profile
안녕하세요

0개의 댓글