精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

有人抵觸Ref?有人抵觸Reactive?

開發 前端
既然 Vue3 推出了 ref 和 reactive,那就說明他們都有存在的必要,在項目中不同的場景去運用他們,我覺得才是最好的,而不是用一個不用另一個,不止這兩個,還有很多其他好用的 Vue3 API。

前言

大家好,我是林三心,用最通俗易懂的話講最難的知識點是我的座右銘,基礎是進階的前提是我的初心~

背景

這幾天看到好多文章標題都是類似于:

  • 不用 ref 的 xx 個理由
  • 不用 reactive 的 xx 個理由
  • 歷數 ref 的 xx 宗罪

我就很不解,到底是什么原因導致有這兩批人:

  • 抵觸 ref 的人
  • 抵觸 reactive 的人

看了這些文章,我可以總結出他們的想法

抵觸 reactive 的人

抵觸 reactive 的人,他們的想法大概就是:

  • 1、Vue 官方推薦 ref
  • 2、reactive 有類型限制,ref 沒有
  • 3、reactive 使用不當會丟失響應式,比如解構
  • 4、reactive 無法修改整個對象的值

抵觸 ref 的人

抵觸 ref 的人,他們的想法大概就是:

  • 1、ref 的底層其實就是 reactive,用 ref 相當于多了一層,耗費性能
  • 2、ref 的 .value 用起來很麻煩,增加使用者心里負擔
  • 3、ref 到模板的時候會解掉 value 這一層,這時候也會耗費性能

把我整笑了~

說實話,看到這些文章,有點把我整笑了,其實你要用 ref 或者 reactive 都沒錯,但是沒比必要那么抵觸,編程很多時候并不是非黑即白啊。。。

既然 Vue3 推出了 ref 和 reactive,那就說明他們都有存在的必要,在項目中不同的場景去運用他們,我覺得才是最好的,而不是用一個不用另一個,不止這兩個,還有很多其他好用的 Vue3 API

我想針對這兩批人的想法做一個回應:

回應 -> 抵觸 reactive 的人

  • 1、官方是推薦,不是抵觸
  • 2、reactive 既然有類型限制,那就在特定時候用 reactive 就行
  • 3、使用不當會丟失響應式?那就是開發者對于 Vue3 API 的使用還不熟
  • 4、用 Object.assign 就可以修改整個對象的值

回應 -> 抵觸 ref 的人

  • 1、耗費性能的話,這么久了,也沒人貼出到底耗費了多少性能?
  • 2、.value 不麻煩,我覺得 .value 可以起到辨別響應式和非響應式數據的效果,而且現在編輯器都有插件提供的代碼補全了,多個 .value 也花不了多少時間吧?

靈活使用 Vue3 API 才是王道

其實在平時開發中,我覺得基本數據類型和數組,都可以用 ref 來管理,而對象的話可以使用 reactive 來管理,比如表單對象、狀態對象

其實 Vue3 不止有這兩個 API ,還有很多其他 API ,也很好用,大家只要去靈活使用它們,能讓你的Vue3 項目上一個層次

readonly

顧名思義,就是只讀的意思,如果你的數據被這個 API 包裹住的話,那么修改之后并不會觸發響應式,并且會提示警告

圖片圖片

圖片圖片

readonly 的用途一般用于一些 hooks 暴露出來的變量,不想外界去修改,比如我封裝一個 hooks,這樣去做的話,那么外界只能用變量,但是不能修改變量,這樣大大保護了 hooks 內部的邏輯~

圖片圖片

shallowRef

shallowRef 用來包住一個基礎類型或者引用類型,如果是基礎類型那么跟 ref 基本沒區別,如果是引用類型的話,那么直接改深層屬性是不能觸發響應式的,除非直接修改引用地址,如下:

圖片圖片

注意:改深層屬性能改數據,只是沒觸發響應式,所以當下一次響應式觸發的時候,你修改的深層數據會渲染到頁面上~

shallowRef 的用處主要用于一些比較大的但又變化不大的數據,比如我有一個表格數據,通過接口直接獲取,并且主要用在前端展示,需要修改一些深層的屬性,但是這些屬性并不需要立即表現在頁面上,比如以下例子,我只需要展示 name、age 字段,至于 isOld 字段并不需要展示,我想要計算 isOld 但是又不想觸發響應式更新,所以可以用 shallowRef 包起來,進而減少響應式更新,優化性能

圖片圖片

shallowReactive

shallowReactive 用來包住一個引用類型,被包住后,修改第一層才會觸發響應式更新,也就是淺層的屬性,修改深層的屬性并不會觸發響應式更新

注意:改深層屬性能改數據,只是沒觸發響應式,所以當下一次響應式觸發的時候,你修改的深層數據會渲染到頁面上~

圖片圖片

shallowReactive 用的比較少,shallowReactive 的用處跟 shallowRef 比較像,都是為了讓一些比較大的數據能減少響應式更新,進而優化性能

toRef & toRefs

先說說 toRef 吧,我們平時在使用 reactive 的時候會有一個苦惱,那就是解構,比如看以下例子,我們為了少些一些代碼,解構出來了 name 并放到模板里渲染,但是當我們想改原數據的時候,發現 name 并不會更新,這就是解構出來基礎類型的苦惱

圖片圖片

圖片圖片

這時我們可以使用 toRef,這個時候我們直接修改 name 也會觸發原數據的修改,修改原數據也會觸發 name 的修改

圖片圖片

圖片

但是如果是屬性太多了,我們想一個一個去用 toRef 的話會寫很多代碼

圖片圖片

所以我們可以使用 toRefs 一次性解構

圖片圖片

toRaw & markRaw & unref

toRaw 可以把一個響應式 reactive 轉成普通對象,也就是把響應式對象轉成非響應式對象

圖片圖片

toRaw 主要用在回調傳參中,比如我封裝一個 hooks,我想要把 hooks 內維護的響應式變量轉成普通數據,當做參數傳給回調函數,可以用 toRaw

圖片圖片

markRaw 可以用來標記響應式對象里的某個屬性不被追蹤,如果你的響應式對象里有某個屬性數據量比較大,但又不想被追蹤,你可以使用 markRaw

圖片圖片

unref 相當于返回 ref 的 value

圖片圖片

effectScope & onScopeDispose

effectScope 可以有兩個作用:

  • 收集副作用
  • 全局狀態管理

收集副作用

比如我們封裝一個共用的 hooks,為了減少頁面隱患,肯定會統一收集副作用,并且在組件銷毀的時候去統一消除,比如以下代碼:

圖片圖片

但是這么收集很麻煩, effectScope 能幫我們做到統一收集,并且通過 stop 方法來進行清除,且 stop 執行的時候會觸發 effectScope 內部的 onScopeDispose

圖片圖片

我們可以利用 effectScope & onScopeDispose 來做一些性能優化,比如下面這個例子,我們封裝一個鼠標監聽的 hooks

圖片圖片

但是如果在頁面里調用多次的話,那么勢必會往 window 身上監聽很多多余的事件,造成性能負擔,所以解決方案就是,無論頁面里調用再多次 useMouse,我們只往 window 身上加一個鼠標監聽事件

圖片圖片

全局狀態管理

現在 Vue3 最火的全局狀態管理工具肯定是 Pinia 了,那么你們知道 Pinia 的原理是什么嗎?原理就是依賴了 effectScope

圖片圖片

所以我們完全可以自己使用 effectScope 來實現自己的局部狀態管理,比如我們封裝一個通用組件,這個組件層級比較多,并且需要共享一些數據,那么這個時候肯定不會用 Pinia 這種全局狀態管理,而是會自己寫一個局部的狀態管理,這個時候 effectScope 就可以排上用場了

vueuse 中的 createGlobalState 就是為了這個而生

圖片圖片

圖片圖片

provide & inject

Vue3 用來提供注入的 API,主要是用在組件的封裝,比如那種層級較多的組件,且子組件需要依賴父組件甚至爺爺組件的數據,那么可以使用 provide & inject,最典型的例子就是 Form 表單組件,可以去看看各個組件庫的源碼,表單組件大部分都是用 provide & inject 來實現的,比如 Form、Form-Item、Input這三個需要互相依賴對方的規則、字段名、字段值,所以用 provide & inject 會更好。具體用法看文檔吧~https://cn.vuejs.org/guide/components/provide-inject.html

圖片圖片


責任編輯:武曉燕 來源: 前端之神
相關推薦

2014-03-18 10:32:30

谷歌眼鏡本能新技術

2017-05-24 18:00:13

AndroidAndroid DatView

2018-03-01 06:50:47

2012-07-09 10:20:42

Windows 8

2020-08-18 10:35:18

JWTredis認證

2022-08-17 12:28:14

vite代碼前端

2021-01-21 08:04:39

數據結構

2025-03-21 11:50:48

TailwindCSS樣式

2025-04-07 05:01:00

Vue3css框架

2024-08-06 09:08:59

2012-08-08 09:03:19

Windows 8Visual Stud

2015-11-03 11:07:10

ZD至頂網CIO與應用

2017-12-21 14:42:41

iPhone供應商蘋果

2021-09-16 18:29:17

CPU緩存虛擬

2021-11-18 11:01:03

元宇宙技術自動化

2021-10-29 06:46:42

CPU緩存TLB

2019-04-15 13:39:10

容器開發Docker

2023-08-09 10:21:07

Vue 3Reactive

2025-07-31 09:01:07

2025-02-18 13:44:53

DeepSeek人工智能OpenAI
點贊
收藏

51CTO技術棧公眾號

国产一区二区网| 欧美成人精品在线播放| 国产情侣第一页| 色婷婷中文字幕| 亚洲欧美日本视频在线观看| 亚洲图片在线综合| 亚洲男人天堂2021| 天堂av在线| 国产精品毛片无码| 亚洲美女黄网| 中文字幕欧美国内| www.啪啪.com| 国产91欧美| 亚洲成年人影院| 亚洲视频在线二区| 日韩有码第一页| 久久精品国产久精国产爱| 欧美激情精品久久久久久蜜臀| 无套内谢大学处破女www小说| 亚洲久草在线| 日本韩国欧美国产| 成年人网站国产| 生活片a∨在线观看| 91亚洲精品一区二区乱码| 国产精品欧美日韩一区二区| 国产精品9191| 久久久久午夜电影| 成人台湾亚洲精品一区二区| 久久蜜桃av一区精品变态类天堂| 91在线中文字幕| av毛片在线免费观看| 亚洲性图久久| 久久久av免费| 一级黄色毛毛片| 亚洲精品一级二级三级| 精品1区2区在线观看| 五月天婷婷在线观看视频| 免费观看一级欧美片| 亚洲一区二区美女| 成人在线观看毛片| 麻豆免费在线视频| 亚洲国产精华液网站w| 国产一区国产精品| 亚洲欧美激情另类| 床上的激情91.| 99在线看视频| 一二三区在线播放| 另类小说欧美激情| 国产精品jvid在线观看蜜臀| 波多野结衣视频网站| 最新国产在线观看| 亚洲视频一起| 欧美一区二区三区精品| 在线能看的av网站| 国产美女久久| 欧美日韩激情在线| www.99r| 久久99久久久精品欧美| 欧美性一级生活| 99热这里只有精品在线播放| 在线观看精品| 欧美日韩精品一二三区| 亚洲天堂2018av| 91精品视频一区二区| 欧美福利电影网| 三级网站免费看| 在线日韩成人| 精品国产乱码91久久久久久网站| 国产艳妇疯狂做爰视频| 国产精品白浆| 国产精品一区二区视频| 91久久精品国产91性色tv| 成人免费毛片网| 成人小电影网站| 91精品91久久久中77777| 99热手机在线| 亚洲人成777| 日韩欧美国产1| 日批在线观看视频| 亚洲三级网页| 久久精品福利视频| 久久久久久久久久久久久久免费看 | 欧美天天综合网| 天天综合网久久| 亚洲精品18| 国产婷婷色综合av蜜臀av| 谁有免费的黄色网址| 婷婷久久综合| 久久精品国产www456c0m| 亚洲男人天堂网| 成人性视频免费看| 激情欧美一区| 国产aⅴ夜夜欢一区二区三区| 亚洲一级黄色大片| 懂色av一区二区三区免费观看 | 欧美日韩亚洲自拍| 久久综合偷偷噜噜噜色| 国产丝袜一区二区| caoporn91| 久久天堂精品| 91九色在线观看| 久草在线免费福利资源| 自拍偷拍国产精品| 亚洲熟妇av一区二区三区| 99精品美女视频在线观看热舞| 亚洲国产精品成人精品| 国产精品麻豆免费版现看视频| 国产麻豆xxxvideo实拍| 成人在线视频国产| 亚洲精品电影在线观看| 老熟妻内射精品一区| 亚洲综合二区| 97超碰在线播放| h视频在线免费| 午夜久久久久久久久| 国产亚洲视频一区| 亚洲品质自拍| 国内精品视频久久| 国产女人18毛片水真多| 国产日韩欧美精品综合| 成人在线观看你懂的| 亚洲一区二区三区久久久| 亚洲女人被黑人巨大进入al| 永久免费看黄网站| 久久99精品久久久久久久久久久久 | 亚洲午夜羞羞片| 亚洲高清在线免费观看| 久久久久高潮毛片免费全部播放| 日韩中文字幕网| 无码人妻一区二区三区线| 成人一区在线观看| 四虎4hu永久免费入口| 国产亚洲精彩久久| 亚洲网站在线播放| 在线精品免费视| 北岛玲一区二区三区四区| 国产91av视频在线观看| 麻豆精品蜜桃| 国产视频亚洲视频| av资源免费观看| 99免费精品视频| 国产 日韩 欧美在线| 久久九九精品视频| 久久精品国产亚洲一区二区| 小泽玛利亚一区二区三区视频| 97精品视频在线观看自产线路二| 欧美色视频日本版| 黄色国产一级视频| 白嫩白嫩国产精品| 欧美精品www在线观看| 国产成人精品免费看视频| 日韩美女久久久| 佐山爱在线视频| 欧美日本亚洲韩国国产| 亚洲综合在线播放| 日韩成人伦理| 亚洲精品成人免费| 国产专区第一页| 久久亚洲影视婷婷| 免费看a级黄色片| 日产精品一区二区| 国产在线98福利播放视频| 男人影院在线观看| 日韩亚洲欧美在线观看| 久久国产一级片| 97成人超碰视| www.欧美日本| 国产精品99在线观看| 久久久亚洲精品石原莉奈 | 综合亚洲自拍| 国产精品第一视频| 免费网站免费进入在线| 欧美一区二区日韩一区二区| 精品人妻在线播放| www国产成人| 污网站免费在线| 欧美一区免费| 国新精品乱码一区二区三区18 | 国产精品三级网站| caoporn免费在线视频| 亚洲变态欧美另类捆绑| 99精品人妻国产毛片| 国产日韩精品一区| 中文字幕55页| 免费在线成人| 中文字幕在线亚洲三区| caoporn成人| 国产精品99久久99久久久二8| 超碰caoporn久久| 久久久久久9| 精品动漫一区二区三区在线观看| 日本午夜小视频| 久久久蜜桃精品| 日本网站在线看| 免播放器亚洲| 色哟哟免费网站| 亚洲尤物av| 91亚色免费| 欧洲av一区二区| 欧美激情精品久久久久久大尺度 | 91在线观看喷潮| 亚洲一区二区不卡免费| 免费看裸体网站| 成人黄页毛片网站| 国产精品久久久毛片| 亚洲激情网站| 乱子伦一区二区| 国产午夜一区| 国产精品免费一区二区三区四区| 女人十八毛片嫩草av| 日本国产亚洲| 97免费视频在线| 26uuu亚洲电影在线观看| 亚洲情综合五月天| 日日夜夜精品免费| 555www色欧美视频| 最新国产中文字幕| 欧美日韩中文字幕综合视频| 久久免费视频精品| 亚洲色图第一区| 青青草自拍偷拍| 久久嫩草精品久久久久| 精品人妻一区二区免费| 国产自产视频一区二区三区| 亚洲男人天堂色| 99国产精品久久久久久久成人热| www.69av| 永久91嫩草亚洲精品人人| 亚洲人成人77777线观看| 一本久久青青| 久99久视频| 久久久久高潮毛片免费全部播放| av色综合网| 日韩欧美中文字幕在线视频| 国产精品免费av| 欧美人xxxxx| 国产精品极品在线观看| 91青青草免费在线看| 国产成人久久精品一区二区三区| 国产精品一区二区久久国产| 黄瓜视频成人app免费| 2019av中文字幕| а√在线中文在线新版| 久久久久久久999精品视频| 亚洲电影视频在线| 久热99视频在线观看| 国产秀色在线www免费观看| 中文字幕日韩专区| 免费在线观看av| 久久精品中文字幕免费mv| 成人看av片| 欧美贵妇videos办公室| 午夜小视频福利在线观看| 欧美成人午夜激情| 草美女在线观看| 78色国产精品| 欧美一级大片| 国产精品欧美一区二区| 欧美xxxx网站| 亚洲www在线| 免费一级特黄录像| 黄色工厂这里只有精品| 福利在线一区二区| 亚洲巨乳在线| 无码人妻丰满熟妇区五十路百度| 久久一区视频| 中文字幕免费高清在线| 国产成人在线视频免费播放| 天天躁日日躁狠狠躁av| 久久一日本道色综合| 精品视频第一页| 亚洲激情在线激情| 综合激情网五月| 欧美综合亚洲图片综合区| 在线黄色av网站| 91精品国产入口在线| 欧美一区,二区| 亚洲天堂第一页| 成人免费网站在线观看视频| 欧美精品久久久久| 日韩性xxx| 亚洲va欧美va国产综合剧情| 欧美一区 二区| 色综合电影网| 极品日韩av| 亚洲天堂av线| 成人福利视频网站| 国产精品第8页| 姝姝窝人体www聚色窝| 一区二区欧美在线| 丝袜在线观看| 国产ts人妖一区二区三区 | 久久一区二区三区超碰国产精品| 色一情一区二区| av一区二区三区在线| 亚洲精品一区二区三区在线播放| 亚洲大片免费看| 中国a一片一级一片| 亚洲成人久久一区| 在线观看av的网站| 久久欧美在线电影| 日韩一级特黄| 欧美成人dvd在线视频| 中文字幕一区二区三三| 国产1区2区在线| 成人免费高清视频在线观看| 国产精品酒店视频| 粉嫩老牛aⅴ一区二区三区| 国产女无套免费视频| 亚洲欧美制服丝袜| 888av在线视频| 91亚洲精品久久久| jlzzjlzz亚洲女人| 欧美性大战久久久久xxx| 日本三级在线视频| 亚洲欧美日韩一区二区在线| 手机av在线播放| 成人国产精品av| 欧洲视频一区| av免费观看大全| 国产成人精品一区二区三区四区 | 成人黄色a级片| 无吗不卡中文字幕| 亚洲AV午夜精品| 久久久www成人免费精品| av在线不卡精品| 欧美日韩日本网| 精品av久久久久电影| 中国男女全黄大片| 亚洲同性同志一二三专区| www.五月婷婷.com| 亚洲欧美日本精品| 92国产精品| 久久狠狠久久综合桃花| 伊人久久亚洲热| 中国特级黄色片| 一区二区三区四区视频精品免费| 欧美不卡在线一区二区三区| 亚洲涩涩av| 黄色片一级视频| 波多野结衣亚洲一区| 久久久精品99| 日韩女优av电影在线观看| 黄视频网站在线看| 亚洲自拍欧美另类| 欧美国产另类| 香蕉在线观看视频| 亚洲高清免费在线| 日韩中文字幕综合| 91高清视频免费| 曰本一区二区三区视频| 久久精品99国产| 国产精品视频一二三| 中文字幕在线观看视频一区| 中文字幕日韩av| gogo大尺度成人免费视频| 青青草原网站在线观看| 丰满亚洲少妇av| 亚洲午夜18毛片在线看| 亚洲三级 欧美三级| 成人精品动漫| 欧美与动交zoz0z| 国产99一区视频免费| 国产第一页在线播放| 日韩av在线网| 国产经典一区| 中文精品一区二区三区| 国产成人8x视频一区二区| 日本熟妇毛耸耸xxxxxx| 亚洲超碰在线观看| 在线免费观看成人| 国产一区二区视频在线| 久久99久久久| 亚洲摸下面视频| av在线播放一区| 国产 国语对白 露脸 | 精品国产一区二区三区麻豆免费观看完整版 | 久久久久久亚洲精品不卡| 欧美日韩一区二区三区四区不卡 | 成人在线超碰| 日韩毛片在线免费看| 国产精品电影一区二区| 成人午夜免费在线观看| 日本高清视频一区| 亚州av乱码久久精品蜜桃 | 综合自拍亚洲综合图不卡区| 亚洲成a人片77777精品| 日韩欧美大尺度| 午夜国产小视频| 亚洲精品在线免费观看视频| 日韩高清成人| 91免费国产精品| 久久久久久99精品| wwwav在线播放| 国产精品第一页在线| 国语精品一区| 2014亚洲天堂| 亚洲精品小视频| 影音先锋欧美激情| 精品999在线|