vue2를 사용했었는데 새로운 프로젝트를 들어가며 vue3버전을 맞이하게 됐다.
vue3에는 생각보다 많은 기능이 추가되었고, 사용법이 많이 달라져서 정리해본다.
Mixin기능을 대체코드 재활용을 할 수 있음효과적인 그룹화가 가능
- ref : 값에 반응
- reactive : 객체에 반응 (script 내부 사용 시,
.value사용)- computede : 즉시 반응 (script 내부 사용 시,
.value사용)
렌더링이 되기 전 화면으로 아직은 시도 중인 기능이라 많이 사용하지 않음
DOM계층을 무시하고 렌더링한다. ex) 공통 모달이나 컴포넌트 만들 때 사용 (로딩중)
기존 vue2에서는 v-model을 태그에 하나만 사용했다면, vue3에서는 여러개 사용 가능
ref, reactive를 사용
const obj = reactive({})
obj.item1 = 2
//obj를 감시, obj에 item1이 추가된 것을 감지
컴포넌트를 div태그에 넣지 않아도 바로 사용 가능함
컴포넌트에 emit을 사용하는지 명시해줌으로써 파악이 가능함
//insert함수 => element 삽입 시 호출
const {createApp} = createRender({
insert : (child, parent, achor) => {
//함수 내용
}
})
<script setup>은 component도 setup도 필요 없음prop 드릴링
Props로 데이터를 하위컴포넌트에 전달할 때, 하위의 하위 Component에 전달해야하는 end 컴포넌트까지의 루트가 복잡해지면 props전달이 반복되는 비효율적인 데이터 전달을 하는 것을 의미
state : () => {
return { count:0 }
},
actions : {
increment() {
this.count++
}
}
위의 코드와 동일
const count = ref(0)
function increment() {
count.value++
}
return {count, increment}
1) counter.$patch({ count: counter.count+1})
2) counter.increment()