vue3.0实现类似react-hooks的功能
写过react的都知道hooks用着非常顺手,所有的状态、行为啥的都可以使用hooks直接导出使用,而且还能根据state的变化触发视图更新,总之非常的方便快捷。所以在vue里面实现与react-hooks一样的功能,那么会使得vue开发变得一样畅快淋漓!!!
以下是我按照vue官网模拟了react-hooks一样的钩子函数(用于处理人对文件的权限,store用的是pinia):
定义hooks:
import {
getBtnAuth } from '@/utils/utils'
import {
FILE } from '@/db/const'
import {
reactive, watch } from 'vue'
import {
useShareStore, useGlobalStore } from '@/store'
import {
FileInfo } from '@/types/share'
interface UseAuthData {
canIShare: boolean
canIDownload: boolean
canIAddFileCopy: boolean
canIMove: boolean
canIDelete: boolean
canIRename: boolean
canIEdit: boolean
canIReviewHistory: boolean
canIManageCooper: boolean
canIShareOutWay: boolean
isOwner: boolean
<