Vue 3에서 구성된 API를 배우고 구성 요소 코드를 더 효율적으로 구성하고 관리하세요.
Vue 3은 Vue 프레임워크의 최신 버전으로, 많은 흥미로운 새 기능과 개선 사항을 도입했으며 그중 가장 흥미로운 점은 다음과 같습니다. 구성 API. 컴포저블 API를 사용하면 구성요소 코드를 더 잘 구성하고 관리할 수 있으며 로직을 더 잘 재사용하고 공유할 수 있습니다.
Vue 2에서는 옵션 API를 사용하여 구성 요소를 정의하고 구성합니다. 각 구성 요소에는 구성 요소의 데이터, 메서드, 수명 주기 후크 등이 포함된 옵션 개체가 포함되어 있습니다. 이 접근 방식은 구성 요소가 크고 복잡할 때 유지 관리 및 테스트가 어려운 혼란스러운 코드로 이어질 수 있습니다. Vue 3의 구성된 API는 구성 요소를 작성하는 보다 간결하고 유연하며 구성 가능한 방법을 제공합니다.
1. 기본 사용법
Combined API는 함수를 기반으로 하며 "합성"을 통해 로직을 구성합니다. 구성 요소 논리를 더 작은 기능으로 분할한 다음 이러한 기능을 결합하여 구성 요소를 만들 수 있습니다.
import { reactive, computed } from 'vue'; export default { setup() { // 响应式数据 const state = reactive({ count: 0, }); // 计算属性 const double = computed(() => state.count * 2); // 方法 const increment = () => { state.count++; }; return { state, double, increment, }; }, };
이 예에서는 setup
함수를 사용하여 구성 요소의 로직을 설정합니다. setup
함수는 구성 요소가 생성되기 전에 호출되는 특수 함수입니다. setup
함수에서 반응형 데이터, 계산된 속성 및 메서드를 정의하고 이를 반환 값으로 사용할 수 있습니다. setup
函数来设置组件的逻辑。setup
函数是一个特殊的函数,它会在组件创建之前被调用。我们可以在setup
函数中定义响应式数据、计算属性和方法,并将它们作为返回值。
在上面的代码中,我们通过reactive
函数来创建一个响应式的state
对象,其中包含了一个count
属性。我们还使用computed
函数定义了一个计算属性double
,它将count
属性的值乘以2。最后,我们定义了一个increment
方法,用于增加count
属性的值。在setup
函数的返回值中,我们将state
、double
和increment
作为属性导出。
二、逻辑复用
使用组合式API,我们可以更容易地实现逻辑的复用。我们可以将一些常用的逻辑提取成自定义的Hook,并在多个组件中复用。
// useCounter.js import { reactive } from 'vue'; export default function useCounter(initialValue) { const state = reactive({ count: initialValue, }); const increment = () => { state.count++; }; const decrement = () => { state.count--; }; return { state, increment, decrement, }; } // ComponentA.vue import { computed } from 'vue'; import useCounter from './useCounter'; export default { setup() { const { state, increment, decrement } = useCounter(0); const double = computed(() => state.count * 2); // ... return { state, double, increment, decrement, }; }, }; // ComponentB.vue import { computed } from 'vue'; import useCounter from './useCounter'; export default { setup() { const { state, increment, decrement } = useCounter(100); const half = computed(() => state.count / 2); // ... return { state, half, increment, decrement, }; }, };
在这个示例中,我们创建了一个自定义的HookuseCounter
来处理计数逻辑。useCounter
函数接受一个初始值作为参数,并返回一个包含响应式数据和方法的对象。我们可以在任何需要计数逻辑的组件中调用useCounter
函数,并使用返回值中的属性。
在ComponentA.vue
和ComponentB.vue
中,我们分别使用了不同的初始值调用了useCounter
函数,并使用返回的属性来实现不同的计算逻辑。
三、与其他API组合使用
组合式API可以与Vue的其他API,如生命周期钩子、自定义指令等进行灵活的组合使用,使我们能够更好地控制组件的行为。
import { ref, onMounted, onBeforeUnmount } from 'vue'; export default { setup() { const count = ref(0); const increment = () => { count.value++; }; // 组件挂载时触发 onMounted(() => { console.log('Component is mounted'); }); // 组件卸载前触发 onBeforeUnmount(() => { console.log('Component is about to be unmounted'); }); // ... return { count, increment, }; }, };
在这个示例中,我们使用ref
函数来创建了一个响应式的count
变量,并定义了一个increment
方法来增加count
的值。我们还使用了onMounted
钩子和onBeforeUnmount
reactive
함수를 사용하여 count
속성이 포함된 반응형 state
객체를 생성했습니다. 또한 count
속성 값에 2를 곱하는 computed
함수를 사용하여 계산 속성 double
을 정의합니다. 마지막으로 count
속성의 값을 늘리기 위해 increment
메서드를 정의합니다. setup
함수의 반환 값에서 state
, double
및 increment
를 속성으로 내보냅니다. 2. 로직 재사용🎜결합된 API를 사용하면 로직 재사용을 더욱 쉽게 구현할 수 있습니다. 일반적으로 사용되는 일부 로직을 사용자 정의 Hook로 추출하여 여러 구성 요소에서 재사용할 수 있습니다. 🎜rrreee🎜이 예에서는 계산 논리를 처리하기 위해 사용자 정의 HookuseCounter
를 만들었습니다. useCounter
함수는 초기 값을 매개변수로 받아들이고 반응형 데이터와 메소드가 포함된 객체를 반환합니다. 계산 논리가 필요한 모든 구성 요소에서 useCounter
함수를 호출하고 반환 값의 속성을 사용할 수 있습니다. 🎜🎜ComponentA.vue
및 ComponentB.vue
에서는 서로 다른 초기값을 사용하여 useCounter
함수를 호출하고 반환된 속성을 사용했습니다. 다양한 계산 로직을 구현합니다. 🎜🎜3. 다른 API와 함께 사용🎜결합된 API는 라이프사이클 후크, 사용자 정의 지침 등과 같은 Vue의 다른 API와 유연하게 결합될 수 있으므로 구성 요소의 동작을 더 잘 제어할 수 있습니다. 🎜rrreee🎜이 예에서는 ref
함수를 사용하여 반응형 count
변수를 생성하고 increment
메서드를 정의하여 카운트. 또한 onMounted
후크와 onBeforeUnmount
후크를 사용하여 구성 요소가 마운트 및 마운트 해제될 때 해당 작업을 수행합니다. 🎜🎜Combined API는 구성 요소 코드를 구성하고 관리하는 보다 유연하고 구성 가능하며 테스트 가능한 방법을 제공합니다. 로직을 분할하고 재사용함으로써 코드의 가독성, 유지 관리성 및 확장성을 더 잘 향상시킬 수 있습니다. 아직 Vue 3의 컴포저블 API를 사용해 보지 않았다면 지금이 좋은 기회입니다! 🎜위 내용은 구성 요소 코드를 더 잘 구성하고 관리하기 위해 Vue 3에서 결합된 API를 알아보세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!