偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Vue3 中有些場(chǎng)景,真不想用 Pinia !

開(kāi)發(fā) 前端
在 react 中使用 swr、react-query 是大勢(shì)所趨,可以從 npm 下載量來(lái)看出來(lái)。相信今后在 vue 中 vue-query 也會(huì)有越來(lái)越多的使用,因?yàn)榱硗馊罂蚣芏际歉S react 走的 hooks 的思想。

大家好,我是林三心,用最通俗易懂的話講最難的知識(shí)點(diǎn)是我的座右銘,基礎(chǔ)是進(jìn)階的前提是我的初心~

背景

圖片圖片

Pinia 現(xiàn)階段是 Vue3 最火的一個(gè)狀態(tài)管理庫(kù)了,很多人用 Pinia 來(lái):

  • 緩存一些請(qǐng)求回來(lái)的數(shù)據(jù)
  • 管理一些可以全局共用的數(shù)據(jù)

其實(shí)最重要的一點(diǎn)就是:緩存一些請(qǐng)求回來(lái)的數(shù)據(jù)

畢竟,前端只是靜態(tài)頁(yè)面,你得需要去請(qǐng)求數(shù)據(jù),才能讓你的頁(yè)面動(dòng)態(tài)去展示你想展示的東西

就比如我想要通過(guò)請(qǐng)求去獲取登錄用戶的用戶信息,并展示在頁(yè)面,那么在 Pinia 中我會(huì)這么寫

圖片圖片

并且在頁(yè)面中去調(diào)用對(duì)應(yīng)的請(qǐng)求方法,獲取數(shù)據(jù),并且如果需要在請(qǐng)求過(guò)程中加一個(gè)過(guò)渡的 loading 階段的話,那么還需要再頁(yè)面中去維護(hù)幾個(gè) loading 變量,以達(dá)到我們想要的目的

圖片圖片

其實(shí)這是非常麻煩的一件事,那如果有十個(gè)頁(yè)面,豈不是就得維護(hù)幾十個(gè) loading 變量?這其實(shí)是很多開(kāi)發(fā)者非??鄲赖氖虑?/p>

vue-query

其實(shí)不一定所有場(chǎng)景都用到 Pinia,其實(shí)我們想要的目的很簡(jiǎn)單:數(shù)據(jù)緩存 + loading

那么有什么辦法能讓我們緩存請(qǐng)求的數(shù)據(jù),又能不用我們自己維護(hù) loading 變量呢?

或許我們可以試試 vue-query 這個(gè)庫(kù)

pnpm i vue-query

在 main.ts 中去注冊(cè)全局

圖片圖片

接著在頁(yè)面中使用,可以看到,我故意在頁(yè)面中去寫兩次請(qǐng)求

圖片圖片

但是他會(huì)有緩存效果,實(shí)際只發(fā)了一次請(qǐng)求,那是因?yàn)?useQuery 第一個(gè)參數(shù)是傳一個(gè) key ,這個(gè) key 會(huì)標(biāo)識(shí)請(qǐng)求的唯一性,你想要請(qǐng)求兩次的話,可以把 key 設(shè)置成不一樣的即可~

圖片圖片

總結(jié)

先來(lái)看看官方文檔中怎么說(shuō):https://tanstack.com/query/v4/docs/framework/vue/guides/does-this-replace-client-state

vue-query 只適用于存儲(chǔ)從服務(wù)端獲取的數(shù)據(jù),如果有另外的數(shù)據(jù)需要存儲(chǔ)還是要用到 pinia,但是這種數(shù)據(jù)是比較少的,這樣也可以使得 pinia 中的代碼量減少很多并簡(jiǎn)潔。當(dāng)然這里介紹的 vue-query 的 api 是最簡(jiǎn)單的,你能想到的功能它基本都有,感興趣的可以查看文檔。

趨勢(shì)

在 react 中使用 swr、react-query 是大勢(shì)所趨,可以從 npm 下載量來(lái)看出來(lái)。相信今后在 vue 中 vue-query 也會(huì)有越來(lái)越多的使用,因?yàn)榱硗馊罂蚣芏际歉S react 走的 hooks 的思想。

責(zé)任編輯:武曉燕 來(lái)源: Go語(yǔ)言圈
相關(guān)推薦

2024-07-04 08:56:35

Vue3項(xiàng)目Pinia

2024-03-01 11:32:22

Vue3APIVue.js

2021-12-16 08:47:56

Vue3 插件Vue應(yīng)用

2024-04-08 07:28:27

PiniaVue3狀態(tài)管理庫(kù)

2025-06-06 08:49:10

Vue3項(xiàng)目Pinia

2024-04-10 08:27:32

PiniaVue3持久化插件

2021-12-31 07:48:58

Vue3 插件Vue應(yīng)用

2022-03-07 11:15:25

Pinia狀態(tài)庫(kù)vue3

2021-08-11 11:25:22

happens - bJava代碼

2021-07-29 07:51:43

工具 HappensBefore

2022-02-22 07:37:26

VuePinia態(tài)管理庫(kù)

2021-12-01 08:11:44

Vue3 插件Vue應(yīng)用

2021-11-30 08:19:43

Vue3 插件Vue應(yīng)用

2023-11-28 09:03:59

Vue.jsJavaScript

2024-12-20 09:12:00

Vue項(xiàng)目Pinia

2024-07-10 08:39:49

2020-09-19 21:15:26

Composition

2013-05-20 16:30:37

移動(dòng)應(yīng)用App推廣

2021-12-02 05:50:35

Vue3 插件Vue應(yīng)用

2021-07-16 22:49:50

PiniaVuex替代品
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)