Vue3 Pinia 초기화 문의
257
작성한 질문수 1
안녕하셔요.
강좌 잘 보고 있습니다.
문의드릴 내용은 Vue3 Pinia state 값을 Composable API를 사용 할때 초기화를 해야 되는지 궁금해서 문의 드림니다.
인터넷을 찾아보니 $reset 함수를 사용해서 공통 Plugin에 등록하고 난 후, 호출하는 페이지에서 reset 함수를 호출하면 된다고 합니다.
제 짧은 생각에는 pinia store 호출하는 함수(actions)에서 state값을 초기화를 하고 사용하면 될 것 같아 보이는데..
공통으로 만들어서 제공을 해야 하는지 궁금합니다.
예제 소스)
[main.js]
...
const pinia = createPinia();
pinia.use(({ store }) => {
const initialState = cloneDeep(store.$state);
store.$reset = () => store.$patch(cloneDeep(initialState));
});
....
[호출 페이지]
....
onBeforeUnmount(() => {
store.$reset();
});
...
답변 2
0
Pinia의 $reset()을 플러그인으로 등록하면 모든 페이지에서 공통적으로 상태를 초기화할 수 있어 편리합니다. Composable API에서 actions로 직접 초기화하는 것도 가능하지만, 플러그인을 사용하면 재사용성과 일관성이 높아집니다.
0
안녕하세요, 인프런 AI 인턴입니다. 김경주님께서 궁금해하시는 Vue3와 Pinia의 관련된 사항에 대해 답변드리겠습니다.
Pinia의 state값을 초기화하는 방법은 여러 가지가 있으며, 말씀하신 $reset 메서드를 사용하는 방법이 대표적입니다. Pinia에서 state 초기화와 관련된 전략은 프로젝트의 성격과 요구 사항에 따라 달라질 수 있습니다.
$reset 메서드는 Pinia의 현재 상태를 초기 상태로 되돌립니다. Pinia에서 전체적인 초기화 루틴을 공통으로 관리할 수 있도록 설정하는 것은 좋은 관행입니다. 특히, 여러 컴포넌트에서 동일한 초기화 로직을 사용해야 하는 경우라면 더욱 그렇습니다.
다음과 같은 관련 질문과 답변이 도움이 될 수 있습니다:
- 안녕하세요 🙂 각 컴포넌트의 상태는 컴포넌트에서 관리하고 Pinia로 전역 관리할 상태만 관리하는 게 좋습니다!
- 안녕하세요 🙂 페이지를 이동해도 Pinia의 상태는 일반적으로 초기화되지 않습니다.
Pinia로 상태를 중앙에서 관리할 경우, 특히 상태의 복구 또는 초기화가 필요한 경우 공통적인 관리 방법을 사용하여 일관성과 유지보수를 개선할 수 있습니다. 이 외에도 상태의 변경을 추적하거나 로그를 남기는 등의 다양한 추가 설정을 핸들할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
질문드립니다.
0
32
0
unplugin-vue-components 질문드립니다.
0
37
2
강의듣다가 헷갈려서 질문드립니다.
0
31
1
와 짐코딩님 강의 들으면서 느끼는게 많네요.
0
32
1
질문드립니다.
0
32
2
라우터 인스톨 후 실행안됨
1
49
2
코드 자동 포매팅 질문
0
68
2
필터 watchEffect 질문입니다.
0
51
1
json-server 오류가 다른게 뜨네요
0
113
1
미리보기가 안됩니당...
0
69
2
unplugin-vue-components
0
81
2
TypeError 질문
0
52
1
v-model="show" :show="show" 같이 사용?
1
57
1
hash 모드 배포의 필요성?
0
61
2
.eslintrc.cjs 가 없습니다
0
95
2
title,content값이 비어서 저장되는데 제가 혹시 어떤 부분을 잘못 작성했는지 ㅜㅜ 알고싶습니다.
0
98
3
_title_like: "", 문의드려요 해당 값을 설정하면 list가 아에 안나옵니다.
0
64
1
@click.prevent="params._page = pageNum"> 에 .value를 안쓰는 이유가 궁금합니다.
0
71
2
중첩된 컴포넌트 문제
0
75
2
교안에 있는 부분이 아닌가요?
0
109
2
useAxios Proxy(Object) RefImpl
0
113
1
axios timeout
0
328
3
강의와 상관은 없지만, 궁금한 점이 있어 질문드립니다.
0
122
2
컴포넌트 분리 부분에서 오류가 나요ㅠㅠ
0
167
2





