인프런 커뮤니티 질문&답변

wonjinYi님의 프로필 이미지
wonjinYi

작성한 질문수

Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"

Alert Store 만들기

composable과 pinia store - 둘 중 하나를 선택하는 기준

해결된 질문

작성

·

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 상태 관리 라이브러리 입니다. 전역 상태를 관리하기 위해서는 필요한 라이브러리 인데요~! 아래 링크가 도움이 되셨으면 합니다.

감사합니다.

wonjinYi님의 프로필 이미지
wonjinYi
질문자

답변주신 내용을 읽자마자 머릿속에 흩어져 있던 것들이 단번에 정리됐습니다. 언급해주신대로 컴포저블과 피니아가 배타적인 것이라고 생각했는데, 이게 더 넓은 생각을 방해하고 있었네요. 자세한 설명 너무너무 감사합니다.

wonjinYi님의 프로필 이미지
wonjinYi

작성한 질문수

질문하기