Composition API란?
- 컴포넌트 로직을 유연하게 구성할 수 있는 API 모음
- Vue 3 버전에 추가될 기능
- setup 함수에 데이터가 구룹핑이 되어 데이터의 흐름을 파악하고 유지보수가 용이해짐
- 함수를 재사용하기가 용이해짐
- 필수가 아닌 옵션으로 vue 2에서 사용하는 옵션 그대로 사용해도 됨
Composition API 설치
- vue 2에서 사용하려면 설치가 필요 (3으로 업데이트 되면 내장될 예정)
- 터미널 → npm install @vue/composition-api
- import 하기
<script> import Vue from 'vue' // Vue 객체를 사용하기 위한 임포트 import VueCompositionApi from '@vue/composition-api' // Composition API를 사용하기 위한 임포트 import { ref, reactive } from '@vue/composition-api' // Composition API 함수를 사용하기 위한 임포트 Vue.use(VueCompositionApi) // Composition API 사용 </script>
변수 및 함수 선언
- setup() 안에 변수, 함수를 선언하고 return 해주면 됨
- ref
- 모든 원시타입(Primitve) 값을 포함한 여러가지 타입의 값을 받아 생성
- setup() 함수안에서 값을 사용해야할 경우 value 속성으로 접근해야함
- reactive
- 객체 타입만 받아 생성
- 원본 객체와 동일하게 이용
- 깊은(Deep) 감지 수행 (객체가 중첩된 상황에서도 반응형 데이터를 쉽게 조작하고 처리 가능)
- toRefs 함수를 이용해 객체 데이터를 분할해서 사용 가능
<script>
export default {
setup() {
const person1 = ref({ name: "kim", age: 29 });
const person2 = reactive({ name: "park", age: 26 });
const handleClick = () => {
// ref로 감싼 값을 변경할 때는 value로 한번 들어가주고 값을 바꿉니다.
person1.value.age = 30;
// reactive는 바로 값을 바꿉니다.
person2.age = 30;
};
return {
person1, // template에서는 person1.age로 사용합니다
person2,
...toRefs(person2), // template에서는 name, age를 이용함
handleClick
};
}
}
</script>
생명 주기 훅 (Life Cycle Hooks)
- Vue 2에서 사용하는 생명 주기 훅 이름 앞에 on 수식어로 붙여 메소드로 사용
- beforeCreate -> setup
- created -> setup
- beforeMount -> onBeforeMount
- mounted -> onMounted
- beforeUpdate -> onBeforeUpdate
- updated -> onUpdated
- beforeDestroy -> onBeforeUnmount
- destroyed -> onUnmounted
- errorCaptured -> onErrorCaptured
<script>
// 기능 별로 나눠서 실행 가능
const something1 = () => {
onMounted(() => {
// 실행 코드
});
}
export default {
setup() {
something1();
onMounted(() => {
// 실행 코드
});
onUpdated(() => {
// 실행 코드
});
};
}
}
</script>
vue3 composition api 사용법, vue, computed, reactive, ref, watch, watchEffect, props, vuex, composable
vue3 composition api 사용법, vue, computed, reactive, ref, watch, watchEffect, props, vuex, composable
kyounghwan01.github.io
참고 링크 2: https://geundung.dev/102
[Vue 3] Composition API 살펴보기
안녕하세요! 이번 포스팅에서는 이후 Vue.js 3 버전에서 추가될 Composition API에 대해 알아보도록 하겠습니다. 지금의 Vue.js는 2.6.11 버전이며 3버전을 향해가고 있습니다. 컴포지션 API(Composition API)가.
geundung.dev
Vue2 쓰세요? Composition API 한번 드셔보세요🙇♀️
Vue-next에 등장하는 Vue Composition API! 미리 적용해보시는 건 어떠세요?
velog.io
'Web > JavaScript' 카테고리의 다른 글
Vue.js - AWS S3 (AWS 설정 부분) (0) | 2021.08.29 |
---|---|
JavaScript - Axios (Ajax) (0) | 2021.08.29 |
JavaScript - 선언적 함수, 익명 함수, 화살표 함수 (0) | 2021.08.29 |
Vue.js - vue 인스턴스 (0) | 2021.08.29 |
JavaScript - 변수 선언 방식 (const, let, var) (0) | 2021.08.29 |