inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념

라우터 네비게이션을 이용한 데이터 호출 방법

깜빡거림 문제 state 질문드립니다.

829

통풍환자

작성한 질문수 4

3

실습 내용과 동일하게 진행중인데 깜박거림이 해결되지 않습니다. 몇시간을 삽질 했는데 이상한 부분이 있어서 질문드립니다.콘솔을 찍어보면 이상한 화면을 두번 뿌리는 부분이 있어서 깜빡거림이 있는데 무엇이 잘못된건지 모르겠습니다.

routes/index.js

    {
      path: "/news",
      name: "news",
      component: NewsView,
      //component: CreateLiteView("news"),
      beforeEnter: (to, from, next) => {
        //라우터가드
        console.log(3);
        Bus.$emit("start:spinner");
        store
          .dispatch("FETCH_LIST", to.name)
          .then(() => {
            console.log(6);
            next();
          })
          .catch((error) => console.log(error));
      },
    },

store/actions.js

  FETCH_LIST({ commit }, pageName) {
    console.log(4);
    return fetchList(pageName)
      .then(({ data }) => {
        console.log(5);
        commit("SET_LIST", data);
      })
      .catch((error) => {
        console.log(error);
      });
  },

components/ListItem.vue

export default {
  computed: {
    listItems() {
      console.log("data");
      return this.$store.getters.fetchedList;
    }
  }
}

mixin/ListMixin.js

import Bus from "../utils/bus.js";
export default {
  mounted() {
    Bus.$emit("end:spinner");
  },
};

콘솔로그 순서로 보면

처음 뉴스페이지에서 새로고침시 3>4>5>6>data 가 찍히고

다음질문페이지로 넘어가면 3>4>5>6>data>data 가 두번 찍힙니다.

깜빡거린다고 말씀주신 부분은 고쳐지지 않네요 ㅠ

store/index.js

  state: {
    news: [],
    ask: [],
    jobs: [],
    list: [],
    user: {},
    item: {},
  },

state 부분을 삭제 해봤더니 data도 하나 찍히고 정상이에요.

state없이도 getters가 되는가 싶기도 하고 영문을 모르겠습니다. 

vue 개발자 도구에서도 vuex에 sate가 등록되어있습니다. 분명히 제거했는데.. ㅠ

---------------------추가----------------

깃에서 13번 브랜치 받아서 돌려봤는데 동일하게 깜빡 거리긴 하네요.  마찬가지로  store에서 state를 없애니깐 엄청 잘됩니다. 

vuejs javascript

답변 1

1

캡틴판교

안녕하세요 통풍환자님, 상세한 내용 첨부해 주셔서 감사합니다. 깜빡 거린다는 부분이 제가 정확히 잘 이해가 안가네요..! 완벽 가이드는 중간에 비동기 처리를 잘못한 부분이 있어서 강의 끝까지 수강해 보시면 아마 궁금증이 풀리실 것 같아요. 다 듣고 더 궁금한 점 있으면 알려주세요! :)

깃 권한 요청 드립니다

0

50

1

깃 권한 신청

0

50

1

깃 권한 요청드립니다.

0

111

1

깃허브 권한 요청 드립니다

0

144

1

깃허브 권한 요청 드립니다

0

160

1

깃허브 권한 요청 드립니다

0

167

1

깃허브 권한 요청 드립니다.

0

154

1

안녕하세요 vue 2.7로 수강하고 있는 학생입니다. 실무에서 최하위 자식의 props와 watch의 관계를 여쭈고자 합니다.

0

207

1

ide 타입추론 기능 사용할 수 없을까요??

0

205

1

컴포넌트 링크는 vue peek 익스텐션 설치가 필수인가요??

0

228

1

Vue3로 진행중입니다

1

338

1

Vue router-link 사용시 같은 url이면

1

506

1

vue3 에러 메세지...

1

670

2

id ="app" 중복

0

271

2

use undefined 에러가 나옵니다.

1

318

2

깃허브 권한 요청드립니다.

1

358

2

권한요청드립니다.

1

299

2

Vue3에서 구글 애드센스 탑재하기

1

435

2

코드가 정상 작동 되는건지 ...

1

302

1

강의에서 api를 따로 빼셨는데 얻는 이점이 뭐죠?

1

243

1

vuex 적용시 질문

1

287

2

라우터 버전이 안맞는데 어떤걸 써야하나요

1

380

2

UserView에 id 속성만 undefined로 넘어오는데 이유를 모르겠습니다..

1

453

2

권한요청 드립니다!

1

273

2