recoil 장단점

천영석·2021년 7월 12일
1

장점

  • 보일러 플레이트가 적고, 리액트의 useState와 비슷한 문법이라 프로젝트에 적용하기 쉽다.
  • 리액트의 내부를 알고 있기 때문에 suspense나 에러 바운더리, 동시성 모드를 지원한다.
  • 캐싱을 지원한다.

단점(아직 완벽하게 공부하고 사용하는 것이 아니라서 지원하고 있는 기능일 수도 있다.)

  • 캐싱을 지원해서 데이터가 바뀌었을 때, 캐싱을 끝내고 새로운 데이터로 캐싱하는 과정이 살짝 복잡하다고 느껴진다. (아직 실험적인 단계라 그런 것 같다. 나중에 useSWR의 mutate와 같은 메서드가 나올 것이라고 생각한다. 사실 지금도 있을수도? 정확하게 다 보질 못했다.)
  • atom이나 selector는 인자를 받을 수 없기 때문에 인자를 넣어주고 싶을 때, 조금 까다롭다고 느껴졌다. family가 있기는 하지만 family는 get과 set 모두 인자를 필요로 하기 때문에 내가 사용하려고 했던 것과 거리가 멀었다.
    문제가 되었던 부분은 퀴즈 시작을 클릭했을 때, 사용자가 설정한 설정을 기반으로 퀴즈 시작이 되어야 했기 때문에 요청을 보낼 때 설정에 관련된 데이터를 같이 보내줘야 했다. 그리고 응답으로 온 데이터를 퀴즈 데이터로 사용해야 하는데, 퀴즈 데이터는 여러 군데에서 사용되기 때문에 전역적으로 관리되고 있었다. 퀴즈 데이터를 atom으로 만들어두고, 사용하는 곳에서는 퀴즈 데이터를 불러오기만 하고, 퀴즈 시작을 클릭하는 퀴즈 설정 페이지에서는 atom에 데이터를 전달해서 퀴즈 데이터를 set해주고 싶었는데, 이걸 어떻게 하는지 잘 모르겠다.
profile
느려도 꾸준히 발전하려고 노력하는 사람입니다.

0개의 댓글