• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

질문드립니다

21.11.22 16:50 작성 조회수 150

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

질문자

2021.11.23

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

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

cool님의 프로필

cool

질문자

2021.11.24

vue component 내 method에서

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

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

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