Vue Hook 是 Vue.js 3.x 中新增的功能,它是基于 React 中 Hook 的概念而來的,可以讓開發(fā)者在 Vue 組件中更方便地使用狀態(tài)管理功能。 在 Vue Hook 中,可以通過使用不同的鉤子函數(shù)來實現(xiàn)組件的不同功能。常見的鉤子函數(shù)包括:useState、useEffect、useRef、useComputed 等。
import { useState, useEffect } from 'vue'
export default {
setup() {
const [count, setCount] = useState(0)
useEffect(() =>{
console.log('Count has been updated')
}, [count])
return {
count,
setCount,
}
},
}
在上面的代碼中,我們使用了 useState 和 useEffect 兩個鉤子函數(shù)。useState 可以用于定義一個變量和變量的更新函數(shù);而 useEffect 則可以讓我們在組件渲染后執(zhí)行一些操作,可以有一個依賴項數(shù)組,在數(shù)組內(nèi)的值發(fā)生變化時才會重新執(zhí)行 useEffect。
除了 useState 和 useEffect,Vue Hook 中還提供了其他很多有用的鉤子函數(shù)。例如,useRef 可以用于直接修改 DOM 元素的樣式,而 useComputed 則可以用于計算數(shù)據(jù)并返回結(jié)果。通過組合多個鉤子函數(shù),我們可以創(chuàng)建出更加復(fù)雜的功能,極大地增強了 Vue 組件的開發(fā)能力。