Vue3必学技巧—自定义Hooks
在Vue 3中,自定义 Hooks 是一种常见的模式,它可以帮助我们在组件之间复用状态逻辑。下面是一个简单的自定义 Hooks 的例子,用于跟踪组件的响应式数据。
// 自定义Hooks文件,例如useCounter.js
import { ref } from 'vue';
export function useCounter(initialValue = 0) {
const count = ref(initialValue);
function increment() {
count.value++;
}
function decrement() {
count.value--;
}
return { count, increment, decrement };
}
然后在Vue组件中使用这个自定义Hooks:
<template>
<div>
<p>Count: {{ count }}</p>
<button @click="increment">Increment</button>
<button @click="decrement">Decrement</button>
</div>
</template>
<script>
import { useCounter } from './useCounter'; // 导入自定义Hooks
export default {
setup() {
const { count, increment, decrement } = useCounter(0);
return { count, increment, decrement };
}
};
</script>
在这个例子中,我们创建了一个名为useCounter
的Hooks,它提供了一个可以递增和递减的计数器。然后在Vue组件中,我们通过setup
函数调用了这个Hooks,并将返回的响应式数据和方法绑定到模板中。这样就实现了在组件之间共享状态逻辑的目的。
评论已关闭