인프런 커뮤니티 질문&답변

레테님의 프로필 이미지
레테

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

swr 사용해보기

더보기 버튼 클릭 시 useSWR이 다시 호출되나요???

작성

·

260

0

    const [followersLimit, setFollowersLimit] = useState(3);
    const [followingsLimit, setFollowingsLimit] = useState(3);
    const { data: followersData, error: followerError } = useSWR(`http://localhost:3065/user/followers?limit=${followersLimit}`, fetcher);
    const { data: followingsData, error: followingError } = useSWR(`http://localhost:3065/user/followings?limit=${followingsLimit}`, fetcher);
======================
강사님 안녕하세요~ 질문이있습니다.
맨처음 profile 페이지 로드될때 useSWR을 통해 팔로잉, 팔로워 리스트를 가져오는 건 알겠는데요,
더보기 버튼 클릭할 때 useSWR이 다시 동작하는지 궁금합니다..
1.
예를들어 팔로잉 더보기 버튼 클릭하면 useSWR를 다시 호출하는 부분은 보이지 않고
setFollowingsLimit을 통해 followingsLimit 값 밖에 안바꾸는데
useSWR이 url의 ${followersLimit}부분이 변경된거를 인식해서 다시 호출 & 데이터 요청이 되는걸까요?
2.
useEffect(()=>{
axios.get(`http://localhost:3065/user/followers?limit=${followersLimit}`);
}, [followersLimit]);
ㄴ> 만약 1번 가정이 맞다면 대충 이런식으로 동작하고있다고 받아들여도 될까요..?

답변 2

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

1. 저기 키 부분이 변경되면 다시 요청을 보냅니다.

2.네 그것과 유사하고 swr 추가적으로 캐싱 기능을 제공합니다.

0

캐싱 기능이란것이 주기적으로 서버에 요청해서 값을 갖고 있는 그 기능을 말씀하시는건가요? 아니면 그냥 url에 대해 요청한 값을 갖고있는걸 말씀하시는걸까요.

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

두 문장이 비슷한 것 아닌가요? 캐싱이라는 것은 무언가를 잊어버리지 않고 저장하고 있는 겁니다. swr은 서버에 요청도 보내고, 설정에 따라 주기적으로 요청을 보내기도 합니다.

레테님의 프로필 이미지
레테

작성한 질문수

질문하기