精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产免费久久精品| 激情综合电影网| 欧美日韩视频专区在线播放| 亚洲欧洲精品在线观看| 亚洲图片欧美在线| 欧美日韩理论| 亚洲第一av在线| 青青草原av在线播放| 国产最新视频在线| 麻豆精品新av中文字幕| 欧美成人激情在线| 少妇毛片一区二区三区| 久久精品97| 亚洲国产精品视频| 日韩欧美亚洲区| 99精品视频在线播放免费| 亚洲第一区色| 色综久久综合桃花网| 绯色av蜜臀vs少妇| 日韩高清成人| 亚洲韩国精品一区| 一本一生久久a久久精品综合蜜| 国产福利小视频| 日韩国产欧美三级| 久久夜精品香蕉| 久久精品国产亚洲av久| 欧美a级大片在线| 91高清视频在线| 丁香六月激情网| www.亚洲免费| 91在线观看地址| 亚洲综合成人婷婷小说| 成人公开免费视频| 国产综合久久| 最近2019好看的中文字幕免费| 男男一级淫片免费播放| 亚洲一区二区三区久久久| 欧美日韩国产在线播放| 国产911在线观看| 国产美女性感在线观看懂色av| 国产精品一区二区在线看| 国产精品国产福利国产秒拍| 国产网址在线观看| 综合天堂久久久久久久| 中文字幕日韩专区| 国产交换配乱淫视频免费| 一区二区网站| 欧美丰满嫩嫩电影| 精品www久久久久奶水| 日韩影视在线| 亚洲人成网站影音先锋播放| 日韩av不卡播放| 日本人妻熟妇久久久久久| 精品在线你懂的| 国产精品h在线观看| 久久露脸国语精品国产91| 亚洲视频电影在线| 久久综合亚洲社区| 午夜黄色福利视频| 国产一区二区三区四区五区 | 亚洲国产精品专区久久| 色综合久久久无码中文字幕波多| 羞羞视频在线观看一区二区| 在线免费观看一区| 国产成人亚洲精品无码h在线| jizzjizz中国精品麻豆| 亚洲一区欧美一区| 久艹在线免费观看| 51精品视频| 黄色一区二区在线观看| 久久综合九色综合88i| 欧美野外wwwxxx| 一区二区在线观看av| 99re6这里有精品热视频| 伊人影院在线视频| 一区二区三区国产| 国产精品久久久久9999爆乳| av丝袜在线| 精品国产91久久久久久| 丝袜老师办公室里做好紧好爽| 伊人久久在线| 欧洲生活片亚洲生活在线观看| 亚洲视频在线a| 成人免费一区| 欧美巨大另类极品videosbest | 国产精品亚洲自拍| 一级做a爱片性色毛片| 久久精品国产亚洲一区二区三区| 国产一区二区在线播放| 精品国产av一区二区三区| 国产成人综合精品三级| 狠狠色综合色区| 欧美亚洲日本| 国产精品美女久久久久久久久久久| 亚洲一区二区三区免费观看| 超碰porn在线| 欧美日韩国产激情| 2025韩国理伦片在线观看| av一级久久| 亚洲国产三级网| 国产 欧美 在线| 久久精品国内一区二区三区水蜜桃 | 能在线观看的av| 欧美日韩女优| 日韩视频免费观看高清完整版在线观看| 日本人妻一区二区三区| 亚洲视频分类| 操人视频在线观看欧美| 日本特黄一级片| 免费在线观看精品| 国产综合av一区二区三区| 国产二区在线播放| 亚洲一区二区精品久久av| 国产成人无码av在线播放dvd| 99久久久成人国产精品| 日韩精品视频三区| 婷婷激情四射网| 亚洲一区国产| 91精品视频免费| 青春有你2免费观看完整版在线播放高清 | 天天综合网 天天综合色| 凹凸日日摸日日碰夜夜爽1| 精品99re| 曰本色欧美视频在线| 久久午夜鲁丝片午夜精品| 日韩高清国产一区在线| 国产成人免费观看| 欧美猛烈性xbxbxbxb| 欧美黄色小说| www.亚洲人| 国产精品12p| 人人鲁人人莫人人爱精品| 日韩精品一区二区三区在线播放 | av一级在线观看| 国产999精品久久久久久绿帽| 色视频一区二区三区| av免费不卡| 欧美一区二区三区视频免费播放| xxxx日本免费| 亚洲尤物影院| 国产另类自拍| 午夜影院免费在线| 欧美视频在线不卡| 91成人在线免费视频| 最新亚洲视频| 国产高清一区视频| 成人免费网站在线观看视频| 欧美日韩免费一区二区三区 | 最好看的2019年中文视频| 日本一区二区三区精品| k8久久久一区二区三区| 国产免费内射又粗又爽密桃视频| 欧美啪啪网站| 在线观看精品国产视频| 人妻 日韩精品 中文字幕| 不卡大黄网站免费看| 久久精品在线免费视频| gogo大尺度成人免费视频| 搡老女人一区二区三区视频tv| 神马久久久久久久 | 中国毛片在线观看| 国产日韩综合| 精品视频一区二区| 蜜桃视频www网站在线观看| 亚洲大胆人体在线| 一区二区三区视频免费看| 成人手机在线视频| 草b视频在线观看| 国产伦理久久久久久妇女| 久久久女人电视剧免费播放下载| 亚洲免费国产视频| 婷婷开心久久网| 给我看免费高清在线观看| 性高湖久久久久久久久| 欧美日韩综合精品| 日韩色淫视频| 久久成人18免费网站| 国内精品久久久久久久久久| 一区二区三区不卡在线观看| 少妇被狂c下部羞羞漫画| 亚洲一区日韩| 色姑娘综合av| 麻豆精品一区| 欧美精品videosex性欧美| 日韩在线视频免费| 色婷婷综合激情| 国产黄色录像视频| 国产一区二区视频在线| 亚洲色成人www永久在线观看| 日韩电影不卡一区| 国产精品高潮呻吟久久av野狼| 欧美成人三区| 欧美xxxx老人做受| av大片免费观看| 国产精品三级在线观看| 女王人厕视频2ⅴk| 亚洲精品久久久| 久久精品国产一区二区三区日韩| 99九九久久| 欧美大片大片在线播放| 天堂av中文在线资源库| 欧美日韩国产成人在线免费| 麻豆一区产品精品蜜桃的特点| aaa国产一区| 国产一伦一伦一伦| 极品尤物久久久av免费看| 欧美性生交片4| 欧美精品在欧美一区二区| 婷婷视频一区二区三区| 日韩免费观看视频| av电影高清在线观看| 日韩精品在线免费观看| 国产情侣av在线| 日韩欧美中文免费| 国产十六处破外女视频| 久久久午夜精品| a级大片免费看| 狂野欧美性猛交xxxx巴西| 免费的av在线| 国精一区二区| 国产精品一区二区三区观看| 韩日精品一区| 97婷婷涩涩精品一区| 黄色在线论坛| 亚洲欧美国内爽妇网| 午夜精品久久久久久久96蜜桃| 日本精品一区二区三区高清| 国产一级特黄aaa大片| 国产精品久久久久久亚洲伦| 亚洲狠狠婷婷综合久久久久图片| 国产成人午夜99999| 三级视频中文字幕| 久久免费国产| 5月婷婷6月丁香| 欧美激情视频一区二区三区在线播放| 日本日本精品二区免费| 狠狠久久伊人| 亚洲aⅴ男人的天堂在线观看| 欧美大片高清| 8050国产精品久久久久久| av文字幕在线观看| 丝袜美腿精品国产二区| 免费国产在线观看| 日韩电影中文字幕在线| 成人小说亚洲一区二区三区| 欧美一级二级三级乱码| 97视频免费在线| 欧美放荡的少妇| 91九色蝌蚪91por成人| 欧洲av在线精品| 中文字幕一区二区人妻视频| 欧美日韩一区二区免费在线观看 | 精品国产福利视频| 精品少妇久久久| 夜夜爽夜夜爽精品视频| 久草网站在线观看| 伊人色综合久久天天人手人婷| 人妻人人澡人人添人人爽| 综合亚洲深深色噜噜狠狠网站| 麻豆一区在线观看| 国产精品私房写真福利视频| 在线观看免费小视频| 欧美激情在线一区二区三区| 欧美黄色高清视频| 日本一区二区三区四区在线视频 | 2020最新国产精品| 91入口在线观看| 91成人午夜| av一区二区三区四区电影| 亚洲综合网站| 成人在线观看网址| 老牛国内精品亚洲成av人片| 美脚丝袜一区二区三区在线观看| 自拍亚洲一区| 日韩在线三区| 外国成人免费视频| 国产情侣第一页| 国产视频一区三区| 国产网站免费在线观看| 三级欧美在线一区| 日本免费色视频| 国产精品一区在线| 中文字幕免费在线播放| 91理论电影在线观看| 欧美性猛交xxxxxx富婆| 国产乱国产乱老熟300| 亚洲国产毛片aaaaa无费看 | 综合天堂av久久久久久久| 国产av人人夜夜澡人人爽麻豆| 日韩视频在线一区二区三区 | 国产午夜精品一区二区三区欧美| 日本va中文字幕| 激情文学综合插| 国产在线不卡av| 国产欧美视频一区二区| 国产精品久久久精品四季影院| 午夜日韩在线电影| 中文字幕乱码一区二区| 欧美一卡在线观看| 亚洲日本香蕉视频| 在线视频日本亚洲性| 视频在线观看入口黄最新永久免费国产 | 国产精品99视频| 成人免费在线视频播放| 久久亚洲二区| 国产成人精品一区二区在线小狼 | 99精品欧美| 亚洲精品20p| 99精品欧美一区二区三区小说 | 亚洲精品视频在线| 国产农村妇女aaaaa视频| 7777精品伊人久久久大香线蕉的| 天堂在线观看视频| 北条麻妃久久精品| 亚洲永久av| 91久久偷偷做嫩草影院| 红桃成人av在线播放| 日韩美女爱爱视频| 激情久久五月天| 大黑人交xxx极品hd| 一区二区免费在线播放| 中文字幕永久免费视频| 日韩精品极品在线观看| 亚洲无线看天堂av| 国产精品久久久久久久久| 久久99国产精品久久99大师 | 永久av在线| 国产精品av在线| 亚洲国产精品嫩草影院久久av| 欧美激情亚洲天堂| 狠狠色狠狠色合久久伊人| 一区二区三区在线观看免费视频| 欧美日韩美女在线观看| 亚洲国产精品成人久久蜜臀| www.久久撸.com| 欧美aaaaaa| 亚洲欧美电影在线观看| 日本欧美一区二区| 熟女俱乐部一区二区视频在线| 午夜精品福利在线| 人人妻人人玩人人澡人人爽| 欧美韩国理论所午夜片917电影| 伊人久久大香线蕉综合影院首页| 日韩电影天堂视频一区二区| 国产精品入口| 玖玖爱在线精品视频| 亚洲高清视频在线| 亚洲精品一区二区口爆| 欧美激情第三页| 五月亚洲婷婷| 91黄色在线看| 波多野结衣视频一区| 国产亚洲精品久久久久久打不开| 日韩欧美一区二区不卡| av网站在线免费看推荐| 亚洲在线免费看| 国产综合色产| 国产+高潮+白浆+无码| 姬川优奈aav一区二区| 无码国产精品一区二区色情男同| 国a精品视频大全| 欧美美女在线直播| 黑人糟蹋人妻hd中文字幕| 久久久久久一二三区| 久久久久精彩视频| 在线视频一区二区| 激情不卡一区二区三区视频在线 | 超碰成人免费在线| 国产不卡视频一区二区三区| 欧美另类视频在线观看| 欧美一激情一区二区三区| hd国产人妖ts另类视频| 国产精品免费在线| 欧美精品黄色| 日韩jizzz| 成人免费网站视频| 成人动漫在线视频| 欧美黄免费看| 国产老熟女伦老熟妇露脸| 天天综合天天做天天综合| 国产福利在线视频| 国产在线观看不卡| 黄色亚洲在线| 毛茸茸free性熟hd| 亚洲精品中文字幕乱码三区| 性欧美18一19性猛交| 欧美高清自拍一区| 日韩美女精品| 毛葺葺老太做受视频| 亚洲欧美日韩国产手机在线| 亚洲第一大网站| 欧美又大又粗又长| 欧洲三级视频| 999精品视频在线| 一区二区三区四区av| 免费看国产片在线观看| 国产精品国产三级国产aⅴ浪潮 | 欧美白人最猛性xxxxx69交| 成人免费直播| 亚洲激情一区二区|