当前位置:首页 > 科技  > 软件

Vue3 中有些场景,真不想用 Pinia !

来源: 责编: 时间:2024-04-02 17:18:52 283观看
导读大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心~背景图片Pinia 现阶段是 Vue3 最火的一个状态管理库了,很多人用 Pinia 来:缓存一些请求回来的数据管理一些可以全局共用的数据

大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心~iTp28资讯网——每日最新资讯28at.com

背景

图片图片iTp28资讯网——每日最新资讯28at.com

Pinia 现阶段是 Vue3 最火的一个状态管理库了,很多人用 Pinia 来:iTp28资讯网——每日最新资讯28at.com

  • 缓存一些请求回来的数据
  • 管理一些可以全局共用的数据

其实最重要的一点就是:缓存一些请求回来的数据iTp28资讯网——每日最新资讯28at.com

毕竟,前端只是静态页面,你得需要去请求数据,才能让你的页面动态去展示你想展示的东西iTp28资讯网——每日最新资讯28at.com

就比如我想要通过请求去获取登录用户的用户信息,并展示在页面,那么在 Pinia 中我会这么写iTp28资讯网——每日最新资讯28at.com

图片图片iTp28资讯网——每日最新资讯28at.com

并且在页面中去调用对应的请求方法,获取数据,并且如果需要在请求过程中加一个过渡的 loading 阶段的话,那么还需要再页面中去维护几个 loading 变量,以达到我们想要的目的iTp28资讯网——每日最新资讯28at.com

图片图片iTp28资讯网——每日最新资讯28at.com

其实这是非常麻烦的一件事,那如果有十个页面,岂不是就得维护几十个 loading 变量?这其实是很多开发者非常苦恼的事情iTp28资讯网——每日最新资讯28at.com

vue-query

其实不一定所有场景都用到 Pinia,其实我们想要的目的很简单:数据缓存 + loadingiTp28资讯网——每日最新资讯28at.com

那么有什么办法能让我们缓存请求的数据,又能不用我们自己维护 loading 变量呢?iTp28资讯网——每日最新资讯28at.com

或许我们可以试试 vue-query 这个库iTp28资讯网——每日最新资讯28at.com

pnpm i vue-query

在 main.ts 中去注册全局iTp28资讯网——每日最新资讯28at.com

图片图片iTp28资讯网——每日最新资讯28at.com

接着在页面中使用,可以看到,我故意在页面中去写两次请求iTp28资讯网——每日最新资讯28at.com

图片图片iTp28资讯网——每日最新资讯28at.com

但是他会有缓存效果,实际只发了一次请求,那是因为 useQuery 第一个参数是传一个 key ,这个 key 会标识请求的唯一性,你想要请求两次的话,可以把 key 设置成不一样的即可~iTp28资讯网——每日最新资讯28at.com

图片图片iTp28资讯网——每日最新资讯28at.com

总结

先来看看官方文档中怎么说:https://tanstack.com/query/v4/docs/framework/vue/guides/does-this-replace-client-stateiTp28资讯网——每日最新资讯28at.com

vue-query 只适用于存储从服务端获取的数据,如果有另外的数据需要存储还是要用到 pinia,但是这种数据是比较少的,这样也可以使得 pinia 中的代码量减少很多并简洁。当然这里介绍的 vue-query 的 api 是最简单的,你能想到的功能它基本都有,感兴趣的可以查看文档。iTp28资讯网——每日最新资讯28at.com

趋势

在 react 中使用 swr、react-query 是大势所趋,可以从 npm 下载量来看出来。相信今后在 vue 中 vue-query 也会有越来越多的使用,因为另外三大框架都是跟随 react 走的 hooks 的思想。iTp28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-80841-0.htmlVue3 中有些场景,真不想用 Pinia !

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: .NET中异步操作的选择:Task vs. ValueTask的区别与性能优化

下一篇: 小小ArrayList,居然这么多坑?!

标签:
  • 热门焦点
  • 红魔电竞平板评测:大屏幕硬实力

    前言:三年的疫情因为要上网课的原因激活了平板市场,如今网课的时代已经过去,大家的生活都恢复到了正轨,这也就意味着,真正考验平板电脑生存的环境来了。也就是面对着这种残酷的
  • 企业采用CRM系统的11个好处

    客户关系管理(CRM)软件可以为企业提供很多的好处,从客户保留到提高生产力。  CRM软件用于企业收集客户互动,以改善客户体验和满意度。  CRM软件市场规模如今超过580
  • 得物效率前端微应用推进过程与思考

    一、背景效率工程随着业务的发展,组织规模的扩大,越来越多的企业开始意识到协作效率对于企业团队的重要性,甚至是决定其在某个行业竞争中突围的关键,是企业长久生存的根本。得物
  • 电视息屏休眠仍有网络上传 爱奇艺被质疑“薅消费者羊毛”

    记者丨宁晓敏 见习生丨汗青出品丨鳌头财经(theSankei) 前不久,爱奇艺发布了一份亮眼的一季报,不仅营收和会员营收创造历史最佳表现,其运营利润也连续6个月实现增长。自去年年初
  • 梁柱接棒两年,腾讯音乐闯出新路子

    文丨田静 出品丨牛刀财经(niudaocaijing)7月5日,企鹅FM发布官方公告称由于业务调整,将于9月6日正式停止运营,这意味着腾讯音乐长音频业务走向消亡。腾讯在长音频领域还在摸索。为
  • 得物宠物生意「狂飙」,发力“它经济”

    作者|花花小萌主近日,得物宣布正式上线宠物鉴别,通过得物App内的“在线鉴别”,可找到鉴别宠物的选项。通过上传自家宠物的部位细节,就能收获拥有专业资质认证的得物鉴
  • 到手价3099元起!iQOO Neo8 Pro今日首销:安卓性能最强旗舰

    5月23日,iQOO如期举行了新品发布会,全新的iQOO Neo8系列也正式与大家见面,包含iQOO Neo8和iQOO Neo8 Pro两个版本,其中标准版搭载高通骁龙8+,而Pro版更
  • iQOO Neo8 Pro即将开售:到手价3099元起 安卓性能最强旗舰

    5月23日,iQOO如期举行了新品发布会,全新的iQOO Neo8系列也正式与大家见面,包含iQOO Neo8和iQOO Neo8 Pro两个版本,其中标准版搭载高通骁龙8+,而Pro版更
  • 英特尔Xe HPG游戏显卡:拥有512EU,单风扇版本

    据10 月 30 日外媒 TheVerge 消息报道,英特尔 Xe HPG Arc Alchemist 的正面实被曝光,不仅拥有 512 EU 版显卡,还拥有 128EU 的单风扇版本。另外,这款显卡 PCB
Top