강의

멘토링

커뮤니티

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

박인혁님의 프로필 이미지
박인혁

작성한 질문수

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

swr 사용법에 대해 질문있습니다 ㅎㅎㅎ

작성

·

268

0

const fetcher = (url=> axios.get(url, {withCredentials: true }).then( (result=> result.data)

const Profile = () => {

  const { me } = useSelector((state=> state.user);

  const [followersLimitsetFollowersLimit] = useState(3)
  const [followingsLimitsetFollowingsLimit] = useState(3)

  const { datafollowersDataerrorfollowersError } = useSWR(`http://localhost:3065/user/followers?limit=${followersLimit}`fetcher)
  const { datafollowingsDataerrorfollowingsError } = useSWR(`http://localhost:3065/user/followings?limit=${followingsLimit}`fetcher)

  // useEffect(() => {
  //   dispatch({
  //     type: LOAD_FOLLOWERS_REQUEST,
  //   });
  //   dispatch({
  //     type: LOAD_FOLLOWINGS_REQUEST,
  //   });
  // }, []);

  useEffect(() => {
    if (!(me && me.id)) {
      Router.push('/');
    }
  }, [me && me.id]);

swr 사용하는 강의를 봤는데 너무 신기하더라고요 ㅎㅎ

reducer, saga를 작성안해도 되는것처럼 보이는데... 코드가 엄청 짧아지겠네요.

다름이 아니라 기존 방법인

useEffect를 사용하면 처음 페이지가 랜더링할때 자동으로 액션을 디스패치해줬었는데

swr을 사용하면 useEffect같은거 사용안해도 처음 페이지가 랜더링될때 자동으로 실행되는건가요?

useEffect에서 마지막 매개변수인 빈 배열에 특정 요소를 넣어주거나 return을 작성하면

componentDidMount였나 componentWillUnmount 같은 효과를 낼 수 있다고 기억하고있는데

swr에서도 같은 효과를 적용할 수 있는지 알 수 있을까요 ㅠㅠ

답변 1

0

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

네 컴포넌트가 렌더링될 때 swr이 실행됩니다.

swr에서 저 효과를 내야 하는 이유가 있나요? 제가 알기로는 없습니다.

박인혁님의 프로필 이미지
박인혁

작성한 질문수

질문하기