inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Vue.js 끝장내기 - 실무에 필요한 모든 것

로그인 했을 때의 헤더 버튼 분기 처리

vuex 저장 후, 새로고침 시

1268

qkrthfk

작성한 질문수 10

2

강사님,

vuex에 저장한 후 페이지를 새로고침 할 경우 사용자 정보가 날라가지 않나요..?

그 부분을 보완하기 위해서 localStorage에 값을 넣는 것은 vuex를 사용하는 장점이 크게 보이지 않는데..

어떻게 처리하는게 좋은가요?

vuex vuejs javascript

답변 3

1

DAEUK LEE

참고로 저는 아래와같이 사용한답니다

 

먼저 npm i vuex-persistedstate  로 설치해주시고

아래와 같이 폴더 구성합니다.

store/index.js

import Vue from 'vue';
import Vuex from 'vuex';
import createPersistedState from 'vuex-persistedstate';

Vue.use(Vuex);

import userStore from './modules/userStore.js';

const store = new Vuex.Store({
  modules: {
    userStore: userStore,
  },
  plugins: [createPersistedState()],
});

export default store;

 

store/modules/userStore.js

const userStore = {
  namespaced: true,
  state: {
    username: '',
  },
  getters: {
    GET_USER_NAME: state => state.username,
  },
  mutations: {
    SET_USER_NAME: (state, payload) => {
      state.username = payload.username;
    },
  },
  actions: {
    SET_USER_NAME({ commit }, payload) {
      commit('SET_USER_NAME', payload);
    },
  },
};

export default userStore;

 

위와같이 사용하면 영구 저장 되지만, 반대로 초기화가 필요할 때  초기화 되지 않는 문제도 생깁니다.

그러므로 저는 초기 불러올 때 (예: created 훅) 에서 state를 초기화 시켜주는식으로 사용합니다.

 

js-cookie와의 연동도 함께 찾아보시면 좋을거같아요

0

DAEUK LEE

vuex-persistedstate

위 키워드로 검색해보시면 원하시는 답변 얻을 수 있을 것 같아요

0

캡틴판교

안녕하세요 qkrthfk님, 강의에서 다룬 내용은 싱글 페이지 애플리케이션을 개발할 때의 일반적인 개발 방식입니다. Vuex는 자바스크립트 레벨에서 데이터를 취급하기 때문에 페이지를 새로 고침하면 값이 사라집니다. Vuex를 브라우저 저장소의 개념으로 바라보시는 것보다 뷰 컴포넌트 간의 동일한 데이터를 취급하기 위한 도구로 봐주시는 게 좋을 것 같아요 :)

0

ajy930503

새로고침 할 때 값이 사라지면 안 되지 않나요...? 이 부분은 어떻게 해결해야 할까요..?? 강의 후반부에 알 수 있을까요???

node 10버전 사용

0

64

1

강의에 대해 질문 드립니다.

0

59

1

vue CLI 대신 vite를 사용해도

1

139

2

질문삭제

0

148

2

강사님 코드로 진행할 경우 console.log( config); 도 안찍혔어요. instance 를 생성해서 공통으로 사용하셨는데 loginUser 에만 커스텀한 instance를 넣으니 콘솔에 컨피그 객체가 찍혀요

0

91

1

로그인 에러발생만하면 네트워크 커넥션 에러 발생 해결

0

117

1

rndrmagkqslek.

0

72

1

계속 따라하다가 안돼서 bash에 연결할떄 안되더라구요

0

103

1

axios 에러가 뜹니다.

1

237

2

vue3로 진행하시면서 router에서 '*' 적용이 안되시는 분들

2

310

1

vue 관련 다른 강의 출시예정이없으신지 궁금합니다!

1

153

1

AppHeader.vue에 vue 디폴트 만들에 Delete `␍` 오류나면

1

195

1

vue3로 따라오시다가 import axios 에러 뜨시는 분들

2

445

2

$router 를 이용한 메인 페이지로 이동

1

288

1

혹시 node.js 10.24 버전으로 해도 상관없나요?

2

461

2

에러 경로가 LoginForm.vue 43번째줄 말고 다른 경로로 출력됩니다.

1

297

2

pinia 사용할려고 하는데 에러가 나옵니다.

1

485

2

swagger ui의 post/posts에 글 기록하려고 하면 unauthorized 에러가 납니다..

1

1101

2

safari 개발자 도구에 대한 질문입니다

1

567

2

스웨거에 글 등록시 401 에러가 나와요 ㅠ

1

721

2

이 에러 때문에 진행이 안되네요 ㅠ

1

672

1

windows .nvmrc nvm use 실행 오류

1

1546

2

강사님 최신화가 필요해보입니다.

2

958

2

npm i 에러

1

609

1