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

Vue3這個API慎用!可能會有性能問題!

開發(fā) 前端
Vue3 有一個 API,可能很多人都用過,那就是 watchEffect,他的功能跟 watch 有點類似,但又有些不一樣,用法如下,它會去自動收集依賴的響應式數(shù)據,響應式數(shù)據一變,就會觸發(fā)函數(shù)的重新執(zhí)行

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

背景

Vue3 有一個 API,可能很多人都用過,那就是 watchEffect,他的功能跟 watch 有點類似,但又有些不一樣,用法如下,它會去自動收集依賴的響應式數(shù)據,響應式數(shù)據一變,就會觸發(fā)函數(shù)的重新執(zhí)行

圖片圖片

謹慎使用!

我發(fā)現(xiàn)組員們很喜歡用watchEffect,他們的意思是watchEffect比較方便,寫起來比較爽

其實我個人是很少用 watchEffect 的,因為我感覺:

  • watchEffect 的依賴不夠明確
  • watchEffect 可能有性能問題

可維護性較差

先來說第一點,我舉個例子,假如我要監(jiān)聽 a、b、c,然后去執(zhí)行很多邏輯,如果我是使用 watch,我一眼就能看到,依賴項是 a、b、c 這三個變量,后面接手代碼的開發(fā)者,也能很明確看到執(zhí)行這些邏輯的依賴項是什么

圖片圖片

但是如果你使用的是 watchEffect,那么你下次看代碼時,你得去這么多邏輯中去自己一個一個找依賴項是什么,是不是感覺代碼可維護性變得比較差了?

圖片圖片

性能問題?

再來說說 watchEffect 可能有性能問題,我們看以下例子

圖片圖片

其實 isEven 自始至終都是 true,所以應該只執(zhí)行一次函數(shù)就行了,但是 watchEffect 沒有做惰性處理,也就是只要 isEven.value 被重新賦值,函數(shù)就會重新執(zhí)行一遍,無論 isEven 是否變了,這就會造成無意義的代碼執(zhí)行~

但是如果是用 watch 就不會有這種情況發(fā)生


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

2025-06-30 09:46:34

Vue3性能API

2025-03-26 10:29:22

Vue3前端API

2020-09-19 21:15:26

Composition

2025-06-24 09:36:04

2023-06-14 08:34:18

Mybatis死鎖框架

2025-02-18 08:10:00

Vue 3JavaScrip開發(fā)

2021-12-16 08:27:54

Vue3 插件Vue應用

2021-12-01 08:11:44

Vue3 插件Vue應用

2021-03-31 08:01:50

Vue3 Vue2 Vue3 Telepo

2025-05-13 09:53:42

Vue3JavaScript開發(fā)

2025-06-20 08:14:55

2024-02-01 09:10:04

頁面引導工具Vue3

2024-03-01 11:32:22

Vue3APIVue.js

2020-10-28 08:06:09

Vue3框架數(shù)據

2021-11-30 08:19:43

Vue3 插件Vue應用

2023-11-28 09:03:59

Vue.jsJavaScript

2021-09-08 22:29:46

Windows 11Windows微軟

2021-07-29 12:05:18

Vue3Api前端

2022-06-13 08:39:21

Vue3API

2022-08-26 10:01:48

Vue3TS
點贊
收藏

51CTO技術棧公眾號