인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

cool님의 프로필 이미지
cool

작성한 질문수

Vue로 Nodebird SNS 만들기

질문드립니다

작성

·

238

0

store action에서 

다른 action들은 return 처리를 안해주시고
loadFollowers, loadFollowings는 return 처리를 해주셨는데 이유가 궁금합니다.

 

loadFollowers({ commit, state }, payload) {
    if (!(payload && payload.offset === 0) && !state.hasMoreFollower) {
      return;
    }
    let offset = state.followerList.length;
    if (payload && payload.offset === 0) {
      offset = 0;
    }
    return this.$axios.get(`/user/${state.me.id}/followers?limit=3&offset=${offset}`, {
      withCredentials: true,
    })
      .then((res) => {
        commit('loadFollowers', {
          data: res.data,
          offset,
        });
      })
      .catch((err) => {
        console.error(err);
      });
  },
  loadFollowings({ commit, state }, payload) {
    if (!(payload && payload.offset === 0) && !state.hasMoreFollowing) {
      return;
    }
    let offset = state.followingList.length;
    if (payload && payload.offset === 0) {
      offset = 0;
    }
    return this.$axios.get(`/user/${state.me.id}/followings?limit=3&offset=${offset}`, {
      withCredentials: true,
    })
      .then((res) => {
        commit('loadFollowings', {
          data: res.data,
          offset,
        });
      })
      .catch((err) => {
        console.error(err);
      });
  },


그리고 this.$axios 호출을 통해 응답받은 데이터를 vue component 단에 넘겨주고 싶을 때 vuex 에 저장해서
vue component 단에서 store값을 가져와서 쓰는게 좋은 방법인가요??

아님 그냥 응답 데이터를 return 해서 vue component 단에서 받아서 써도 상관없는건가요??

답변기다리겠습니다! ㅠㅠ

답변 1

0

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

위에 return이 있어서 아래도 return한 것입니다. eslint/consistent-return 규칙때문이었습니다. 별 의미 없습니다.

공통 데이터라면 vuex에 저장해서 받으시고, 한 컴포넌트에서만 활용될 데이터면 컴포넌트 내에서 하세요.

cool님의 프로필 이미지
cool
질문자

한 컴포넌트에서만 활용될 데이터는 store action에서 응답데이터를 return해서 vue component 단에서 써도 된다는 말씀이실까요??

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

아예 store도 거치지 마시고 컴포넌트 method같은데서 api호출하세요.

cool님의 프로필 이미지
cool
질문자

vue component 내 method에서

this.$axios.post ... 이런식으로 호출 하라는 말씀이실까요??

따로 api를 파일로 빼지 않아서요 ㅠㅠ

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

네 method에서 그렇게 호출해서 데이터에 넣으세요.

cool님의 프로필 이미지
cool

작성한 질문수

질문하기