• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

newsview나 askview에서 사용자를 눌렀을때

20.02.12 14:24 작성 조회수 94

1

사용자를 눌러서 사용자 상세페이지로 갈때 마다 사용자의 데이터값이 바뀌는데..

기존에 있던 사용자가 먼저보여졌다가 다른 사용자로 변경되는건...어쩔수 없는건가요??

답변 3

·

답변을 작성해보세요.

1

career87님의 프로필

career87

질문자

2020.02.13

beforeDestroy(){

    this.$store.state.itemList = {};

}

이런식으로 컴포넌트가 제거될때 데이터값을 초기화하고싶을때는 저런식으로 하면될까요?

아니면 다른 좋은방법이 있을까요?

1

안녕하세요 career87님, 좋은 질문이네요 :) 2가지 해결 책이 있을 것 같아요.

1. 사용자 상세 페이지의 컴포넌트 라이프 사이클 훅 'beforeDestroy'에서 해당 데이터 값 초기화

2. 라우터 네비게이션 가드를 이용해 데이터를 받아왔을 때만 해당 페이지로 진입

한번 적용해보시고 궁금하신 거 있으면 알려주세요 :)

0

아 컴포넌트에서 스토어의 state를 변경하실 때는 반드시 mutations로 접근하셔야 합니다. 저렇게 하면 뷰엑스의 strict 옵션을 넣었을 때 콘솔에 에러가 발생할거에요 :)

결론적으로 아래와 같은 코드로 초기화 하는게 좋을 것 같습니다.

beforeDestroy() {
  this.$store.commit('initItemList');
}