min

todoList Recoil 버전에 대하여... 본문

프로젝트 회고

todoList Recoil 버전에 대하여...

minprogramming 2023. 8. 8. 21:26

<회고록>

오늘은 todoList를 recoil 버전으로 만들어보았다. 그럼 여기서 드는 의문중은 다음과 같다. 왜 구지 recoil을 사용했는가? 컨텍스트 api도 있는데도 불구하고 recoil를 사용한 이유는 무엇인가? 이 질문에 대답을 하기 위해서 recoil이 context api와 구별되는 차이점에 대해서 설명하도록 하겠다. 먼저 recoil의 가장 큰 장점은 엄청 가볍다는 것이다. 이때 가볍다는 의미는 2가지로 해석할 수 있을 거 같다. 첫번째는 context api의 비해 사용방법이 간단하다. 두번째 context api나 redux의 비해 환경세팅이 간단하다는 것이다. 이 2가지 측면에서 보면 context api보다 recoil이 가지고 이는 장점이 많다는 것을 알 수 있다. 또한 전역 상태관리를 하기 위한 라이브러리로 선정할 수 있다. recoil의 경우 사용방법은 context api 처럼 가벼우면서 환경세팅은 redux처럼 정해진 틀이 존재한다. 즉 내가 저장할려고 하는 값의 초기값 그리고 그 값을 가지고 있는 스토어의 라벨등을 미리 정하고 들어갈 수 있다. 이런 점에 context api는 나중에 typescript가 들어간다면 이 면에서 recoil에 비해 상대적으로 약할 수 밖에 없다. 왜냐하면 recoil의 경우 처음에 정하는 틀이 있으며 이 틀에 해당하는 데이터만 들어올 수 있기에 정적 타입 언어인 타입스크립트와의 호환성도 정말 괜찮다.