티스토리 뷰
import { defineStore } from 'pinia';
import { ref } from '@vue/reactivity';
export const IndexStore = defineStore('IndexStore', () => {
const isLogin = ref(false); // login true or false
return {
isLogin,
};
}, {
persist: true
});
새로고침을 해도 로그인 상태를 유지해야한다.
그래서 알아본게 vuex-persistedstate다.
그런데
이렇게 빨간 글씨로 경고문구가 있으면 사용하지 않는 것이 안전하다고 생각되어 한참 고민하다가 알게되었다.
pinia-plugin-persistedstate-2
간단히 설명하자면 store에 있는 값을 로컬스토리지에 저장해준다.
설치방법
1. npm install
2. src/main.js 추가
import { createApp } from 'vue';
import App from './App.vue';
import router from './router';
import i18n from './i18n';
import './styles/app.css';
import { createPinia } from 'pinia';
import { createPersistedStatePlugin } from 'pinia-plugin-persistedstate-2';
const pinia = createPinia();
const PersistedStatePlugin = createPersistedStatePlugin();
pinia.use((context) => PersistedStatePlugin(context));
createApp(App).use(i18n).use(pinia).use(router).mount('#app');
3. src/store/index.js
import { defineStore } from 'pinia';
import { ref } from '@vue/reactivity';
// import { useStorage } from '@vueuse/core';
export const IndexStore = defineStore('IndexStore', () => {
const isLogin = ref(false); // login true or false vlaue
return {
isLogin
};
}, {
persist: true
});
이렇게 하면 적용이 된거다!
나는 로컬 스토리지에 저장되는 것 자체가 내가 원하던 것이 아니기에 다른 방법을 또 찾아야 한다.
반응형
LIST
'공부합시다 > Vue' 카테고리의 다른 글
[Vue.js 3] 원하는 경로로 바로 이동(redirect) (0) | 2022.04.22 |
---|---|
[Vue.js 3] store에서 ws 모듈 사용하기 (0) | 2022.04.15 |
[Vue.js 3] Pinia 설치 (0) | 2022.04.13 |
[Vue.js 3] 전체화면(Full Screen) (0) | 2022.04.11 |
[Vue.js 3] i18n을 placehoder에 적용하기 (0) | 2022.04.07 |
댓글