해결된 질문
작성
·
1.3K
1
안녕하세요. "Alert Store 만들기" 영상을 보고 의문이 생겨 질문드립니다. 제 생각에는 compasable과 pinia는 유사한 구현방법으로 똑같은 목적을 달성하는 것 같아 보입니다.
우선 제가 이해한 내용은 이렇습니다.
composable은 반복되는 로직을 분리해 재사용성을 높이기 위해 사용하는 개념
pinia는 전역적으로 상태(+그리고 상태를 관리하기 위한 메소드)를 관리하기 위한 도구
강의영상에서는 composable의 형태로 구현했던 alert를 pinia로 재구현 해주셨습니다. 이렇게 상태가 포함되는 로직은 composable보다 pinia로 구현하는 것이 더 적절한가요?
pinia로 구현했을 때 성능, 프로젝트 가독성(?) 등의 여러 방면에서 어떤 이점이 있는지 잘 모르겠습니다. 혹시 선생님이나 다른 분께서 알려주실 수 있을까 해서 질문드립니다. 감사합니다.
답변 1
3
안녕하세요 :)
잘 이해하셨어요~!
상태 저장 비즈니스 로직을 재사용 -> Composable
전역 상태 관리 -> Pinia
전역적으로 상태를 관리 해야 할 때는 Pinia를 사용하시면 돼요. 그리고 상태 저장 로직을 재사용 할 때는 Composable 함수를 사용하시면 됩니다.
이 둘은 베타적인게 아니라 상호 보완적일 수 있어요.
예를들면 전역 상태를 관리하는 saveUser
라는 Pinia 함수(actions)가 있고 또 이러한 saveUser
를 사용할 때 반드시 필요한 비즈니스 로직이 있다면 useRegisterUser
라는 컴포저블 함수를 만들어서 그 안에서 saveUser
(pinia aciton)를 호출하도록 할 수 있겠죠? ^^
한 번 생각해 보시고 그래도 잘 이해가 안된다면 조금 경험을 더 쌓고 다시 이해해 보는것은 어떨까요 👀
그리고 Pinia Vue 상태 관리 라이브러리 입니다. 전역 상태를 관리하기 위해서는 필요한 라이브러리 인데요~! 아래 링크가 도움이 되셨으면 합니다.
https://vuejs.org/guide/scaling-up/state-management.html#pinia
https://pinia.vuejs.kr/introduction.html#why-should-i-use-pinia
감사합니다.
답변주신 내용을 읽자마자 머릿속에 흩어져 있던 것들이 단번에 정리됐습니다. 언급해주신대로 컴포저블과 피니아가 배타적인 것이라고 생각했는데, 이게 더 넓은 생각을 방해하고 있었네요. 자세한 설명 너무너무 감사합니다.