[Redux] vs Recoil

채동기·2022년 11월 28일
0

Redux

목록 보기
4/4

Recoil을 사용해 봤고 Redux를 공부하면서 차이점이 궁금해서 찾아보았다.
가장 큰 공통점으로는 둘 다 상태 관리 라이브러리라는 것이다.
무엇을 선택해야 하는지를 알기 위해서는 각각의 특징을 알아보았다.

Recoil

Recoil만 사용해 보았을 때는 몰랐지만, 사용해보니 러닝커브가 비교적 낮다는 것을 느꼈다.
비동기 처리를 기반으로 작성되어 동시성 모드를 제공하기 때문에, Redux와 같이 다른 비동기 처리 라이브러리에 의존할 필요가 없다.
Concurrent Mode : 흐름이 여러 개가 존재하는 경우이다. 리액트에서 렌더링의 동작 우선순위를 정하여 적절한 때에 렌더링해준다.
atom -> selector를 거쳐 컴포넌트로 전달되는 하나의 data-flow를 가지고 있어, 복잡하지 않은 상태 구조를 가지고 있다.
hooks을 이용하기 때문에 문법이 리액트와 비슷하다.

Redux

처음 사용하였을 때 상대적으로 코드도 많이 필요해서 어렵다고 느껴졌다. 하지만 개념을 이해한 후에 Redux Toolkit을 사용해 보니깐, 처음 배우는 것만 조금 힘들뿐 사용하는 것은 나쁘지 않다고 느껴졌다.
Ex) store.js 와 같이 하나의 파일에서 전역적으로 데이터를 관리한다.
단방향으로만((View → Action + Dispatcher → Middleware → Reducer → Store) → View) 상태변화가 일어납니다.
상태를 읽기 전용으로 취급한다. 그렇기 때문에 새로운 값을 리턴해야한다. 하지만 Redux Toolkit을 사용하게 된다고 꼭 지키지 않아도 된다.

결론

Redux는 잠시 동안 글로벌 상태 관리의 리더로 자리 잡았었다고 한다. 그러나 Recoil은 React와 경쟁하고 있습니다.
Redux가 더 큰 프로젝트에 가장 적합한 옵션이고 프로덕션 애플리케이션에 가장 적합하더라도 개발자 경험과 사용자 경험 모두에서 Recoil이 더 나은 선택일 수도 있을 것 같습니다. Recoil은 아직 실험 단계에 있지만 충분히 복잡한 경우 이점을 제공할 수 있습니다.

참조

https://www.imaginarycloud.com/blog/recoil-vs-redux/

profile
what doesn't kill you makes you stronger

0개의 댓글