본문 바로가기
FE 프로젝트 일대기

Recoil을 선택한 계기

by 하루하루간다 2023. 2. 8.

매주 프로젝트를 하면서 redux만 썼었는데, 이번 프로젝트에서 다른 라이브러리를 사용하고 싶었습니다.

다양한 라이브러리 중에 recoil을 쓰게 된 이유는 그전에 써왔던 redux랑 비슷한 면이 있어서 빠르게 익힐 수 있으며, redux보다 가볍고 최근에 많이 쓰는 추세라 적용했습니다.

 

Recoil이란?

recoil은 상태관리 라이브러리이며, 페이스북에서 고안한 Flux패턴 기반으로 설계 되면서 안정적인 전역상태 관리를 해줍니다. 

 

Recoil의 장 / 단점

- 장점

 

1. 다루기 쉽습니다.
     *  redux의 복잡한 코드를 간결하게 표현합니다.
     * 간단한 개념들
     * 코드가 직관적이다.
     * 낮은 진입장벽
 

  2. 데이터 흐름 그래프
    * react의 내장된 selector을 활용하면 추가적인 미들웨이 없이 쉽게 비동기 로직을 구현가능

 

  3. 교차하는 앱 관찰


  4.  가장 React스로운 상태관리 라이브러리
     * hook을 활용하여 100% React답게 활용가능

 

 5. 페이스북에서 개발 
     * 페이스북에서 고안한 Flux패턴 기반으로 설계되면서 안정적인 전역상태 관리가 가능

 

  6.  레퍼런스나 자료들이 많다.


  7. recoil관련 다양한 라이브러리들이 제공된다.

 

- 단점

 

  1. 캐싱지원으로 인한 메모리 누수문제
    * 불필요한 캐싱업데이트도 같이 해줘야한다.


  2. 에러핸들링이 힘들다.


  3. 라이브러리가 안정적이지는 않다.

 

앞으로 recoil을 적용하면서 차차 작성하도록 하겠습니다!