vue或者react中的hooks的理解
我们听过react 里面有hooks的概念,那么怎么理解hooks呢?
其实vue2中,我们没有hooks的概念,vue3中我们引入了组合式函数(也就是用组合式api写的),它其实就是vue的hooks。
总结下来,hooks有以下特点:
1、hooks其实就是个函数,只是实现它的方法比较特殊,利用组合式api实现的。
2、组合式函数是有状态逻辑的函数,返回的内容,可能随着时间的变化而变化。(和lodash不一样,传入什么,立马返回一个固定的)
3、hooks其实就是把vue2中的mixins 用一个函数返回,这样使用起来很优雅。
4、hooks函数,约定成俗用useXxxx开头命名。
例子:比如我们要实现一个倒计时的功能,因为变量状态会一直变,用hook是的方式实现,最好不过了。你可以类别vue2中实现该功能如何实现。
export const useCountdown = (count = 60) => { const countRef = ref(0); let timer; const stopTask = () => { countRef.value = 0; timer && clearInterval(timer); }; const startTask = () => { stopTask(); countRef.value = count; timer = setInterval(() => { const nextValue = countRef.value - 1; countRef.value = nextValue; if (nextValue === 0) { stopTask(); } }, 1000); }; return [countRef, startTask, stopTask]; };
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现