Vue3 Composition API 및 새로운 기능
6822 단어 tutorialtypescriptvuewebdev
구성 API
Vue3.0의 가장 중요한 변경 사항 중 하나는
Composition API
입니다. Vue3.0은 Options API
와 역호환되지만 Composition API
를 사용하면 코드 공유에 더 많은 권한이 부여됩니다.구성 API에 대한 자세한 치트 시트를 찾을 수 있습니다here.
치트시트를 살펴보면 구성 API에 대한 기본적인 이해를 할 수 있습니다.
컴포지션 API는 Vue2.0에서 믹스인을 사용하여 다음과 같이 믹스인을 제거합니다.
import Mixin from "./Mixin.js";
export default {
mixins: [Mixin],
data: () => ({
data1: null
}),
methods: {
method1 () { ... }
}
}
2016년에 Dan Abramov는
Mixins Considered Harmful
이라는 기사를 썼습니다. 그가 언급한 피해는 기본적으로 mixin을 사용하는 것이 안티 패턴이므로 권장하지 않습니다. 동일한 단점이 React와 Vue 모두에 적용됩니다.구성 API에서 구성 요소의 기능(상태, 메서드, 계산 등)을 개체 속성으로 정의하는 대신 새
setup
함수에서 반환되는 JS 변수로 정의합니다.// define reactive variable that functions pretty much the same as a data variable
import {ref, computed } from "vue";
export default {
setup(){
const count = ref(0);
const double = computed(() => count.value * 2)
function increment(){
count.value++;
}
return {
count,
double,
increment
}
}
공통 논리를 단일 파일로 확실히 추출할 수 있지만
// useCounter.js
import { ref, computed } from "vue";
export default function () {
const count = ref(0);
const double = computed(() => count.value * 2)
function increment() {
count.value++;
}
return {
count,
double,
increment
}
}
코드를 가져와서 다른 구성 요소에서 재사용할 수 있습니다.
// MyComponent.js
import useCounter from "./useCounter.js";
export default {
setup() {
const { count, double, increment } = useCounter();
return {
count,
double,
increment
}
}
}
여기에서 로직의 상태 또는 메서드를 명시적으로 가져와서 사용하여
naming collision
문제를 해결해야 합니다.
Reference
이 문제에 관하여(Vue3 Composition API 및 새로운 기능), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/warriorjar/vue3-composition-api-and-new-features-4ecd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)