• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    해결됨

swr에 대한 질문입니다. (용어 관련)

23.08.29 20:17 작성 23.08.29 20:18 수정 조회수 227

1

안녕하세요

용어에 대한 이해 차원에서 질문드립니다.
useMap이나 useStore 훅에서 map이나 store에 대한 정보를 전역상태로 관리한다라고 표현하시는데요. 이 부분에 대한 질문입니다.

제가 알고 이해하고 있는 바를 먼저 말씀드리면, SWR은 같은 키값로 받아온 값은 다시 요청하지않고 기존의 캐싱된 값을 반환하는 것으로 알고 있습니다. 그래서 같은 키값으로 요청을 하게 되면 결국 캐싱된 값을 사용하게 되는 것이구요. 이러한 과정전역상태로 관리한다라고 표현하시는 것으로 이해했는데 맞을까요??

[참고] SWR은 데이터의 효율적인 로딩과 캐싱을 위한 라이브러리로서 주로 서버 상태 관리와 데이터 동기화 측면에서 활용되는것이기에 전역상태 관리라고 하면 약간의 혼란을 야기하는 면이 없지 않아 있는 것 같습니다.(redux나 기타 다른 client side에 대한 전역상태 관리와 비교하여...)
→ 이 부분은 개인적인 생각이기에 참고만 해주셔도 괜찮을거 같습니다. 😅

좋은 강의 감사합니다. 🙇🏻

답변 1

답변을 작성해보세요.

1

안녕하세요. 저도 좋은 질문 감사드립니다ㅎㅎ

강의에서 언급한 '전역 상태 관리'는 말씀하신대로 redux, mobx 같은 라이브러리에 비해 '좁은 의미'로 쓰인 전역상태관리입니다. prop drilling을 하지 않고 여러 컴포넌트에서 동일한 상태를 공유할 수 있다는 의미에서 '전역 상태 관리'라는 말을 사용했습니다.

SWR은 언급해주신대로 data fetching에 특화된 라이브러리이고, redux처럼 전역상태관리를 중심으로 만들어진 라이브러리는 아닙니다. 다만 강의에서 언급했듯 가벼운 상태관리만 하면 되는 상황이기 때문에, SWR key에 상수값(일반적인 fetcher 함수 대신)을 저장하고 여러 컴포넌트에서 사용했습니다.

강의에서 사용된 용어가 넓은 범위의 용어와 달라 오해가 생긴 것 같습니다. SWR이 서버 상태 관리와 데이터 동기화를 위해 쓰이는 것은 맞지만, 강의에서는 (좁은 의미의) 전역 상태 관리 용도로 쓰였다고 이해하시면 좋을 것 같습니다!

감사합니다 :)