관리 메뉴

빵 입니다.

Composable 함수 본문

프론트엔드/Vue

Composable 함수

bread-gee 2025. 3. 21. 13:37
반응형

📌 컴포저블 함수

- 🌟 Composition API 기반으로 작성된 재사용 가능한 함수이다.

- 상태 관리가 필요한 경우가 많지만, 반드시 필수는 아니다.

- 이름은 보통 useXXX로 작성해 가독성과 목적을 명확히 한다.

 

◾ 반응형 상태 중심의 컴포저블

  • ref, reactive, computed, watch 같은 Composition API 기능을 활용해 반응형 상태나 로직을 캡슐화한다.
  • 상태를 관리하고 컴포넌트에서 상태 변화에 따라 UI가 갱신한다.
  • ex) useCounter() 같은 상태 관리 함수

◾ 부수 효과 (Side Effect) 중심의 컴포저블

  • onMounted, onUnmounted, API 호출, 이벤트 리스너 등록 등 Vue의 생명주기나 외부 효과 관리(Side effect)한다.
  • 반응형 상태는 필요 없지만 Vue Composition API 문법으로 작성한다.
  • ex) useFetchData() 같은 비동기 데이터 가져오기

❗ defineNuxtPlugin을 활용하여 전역 Composable 등록 가능

=> Nuxt 3에서 composables 폴더에 useXXX.ts 형태로 Composable 함수를 만들면 자동으로 가져와서 사용할 수 있다.

 

📌 일반적인 공통 유틸 함수

- 단순한 로직을 재사용한다.

- 일반 값(문자열, 숫자, 객체 등)을 반환한다.

- Vue의 라이프사이클을 사용하지 않는다.

- 상태 관리가 불가능하다.

- ex) createRandomId(), formatDate()

반응형