是否存在vue很難實現,但react可以相對簡單實現的功能,是哪類功能呢?

時間 2021-06-01 06:20:39

1樓:CharTen

大體上react能實現的vue都能實現。如果說react實現簡單但vue實現較難的,有兩個:

Fragment的功能,vue元件,有且只能有乙個根元素。而react元件可以將根元素設定為fragment,渲染到頁面就可以一次性渲染多個元素上去。而vue直到3.

0才實現相同的功能,2.*沒有看到支援希望。

在我看來,簡不簡單,還是要看框架是否提供這語法糖或者API,如果框架把這些麻煩事情都封裝掉了,那開發者用起來就很方便,實現起開發者的效果就很簡單。

2樓:sun

react 和 vue都用過一段時間。功能上應該都可以實現。總結一下,二者有以下哪幾點不同,Vue的模板實在是太好用了,剛寫react的時候覺得react什麼都沒有各種吐槽。

但是隨著深入你就會發現react靈活性比vue要高很多你可以加很多想法在你的專案裡。vue的模板 css寫法比react好太多了很容易上手。react可以有很多極客的寫法。

有時候可能不太容易理解。

3樓:jokersora

目前發現唯一無法用vue實現的功能是,執行時構建。react可以用hooks實現純函式構建web專案。2023年了,vue3.0了,vue函式元件支援狀態了嗎?

4樓:玄兜

功能上都能實現,但你這個問題確實是個好問題,如果拋開功能,來談,他們屬於用不同方式,實現了對應功能,因為新版的react和vue3都沒有徹底摸透,就拿原本的react和vue2比較,兩者實現方式完全不是乙個層面上的,

vue更多的是生命樹,動態資料驅動dom

react則更注重jsx.直接dom運算

基本上所需功能都能實現,如果實現的功能已經有現有元件react>vue

如果實現功能沒有對應元件,需要自己創造vue>react

5樓:于謙

我就舉乙個最難實現的例子,主題切換

react中能夠很方便的使用css in js的方案編寫樣式,樣式能夠通過狀態控制,能夠通過js進行計算

vue中由於是css in style,切換主題只有兩種方案 1. css全域性變數 2. 動態切換css樣式檔案但是這兩種方案都不夠好

6樓:山上有虎

不存在的。

react 有的 vue 有,react 沒有的 vue 還有。

對開發者來講,兩者的差異主要存在於開發體驗不同。

7樓:

尤的live裡說過,JSX在編寫功能型元件時是遠超模板的。

功能型元件就是本身不渲染任何內容,是一種邏輯型的,作為擴充套件或抽象機制存在,比如router-view,transition

8樓:謊言家

還是配合TS使用時的體感吧

舉個例子,父元件傳值給子元件,vue3裡面似乎很難保持住變數的具體型別,在react裡,特別是hooks裡,保持變數型別就像喝水一樣簡單

9樓:zhenzhenChange

要是說 Vue 2,之前寫過一些元件,實現起來確實挺麻煩的,特別是兄弟元件的通訊,$parent,$children,$refs 一大堆(我也看不懂 slot,技術沒到家),維護起來眼花繚亂。

但現在 Vue 3,我開專案乙個月了,響應式狀態可以抽離共享(單獨在乙個 JS/TS 檔案裡管理),哪個元件需要就引入(即使是兄弟元件也可以為所欲為的使用同乙個狀態),所以也不再需要什麼 $parent,$children,$refs 這些 API 了(當然為了向下相容,目前還是支援的)。

現在寫元件基本上就是:ref,reactive,toRaw,props/emits,provide/inject,watch/watchEffect/computed 等等,還有生命週期鉤子。

狀態抽離共享,邏輯復用,依賴注入,想要什麼抽離什麼,或者引入什麼,這就是組合 Composition。

待到更多人會用 Composition API ,Options API / Class API 也許就淪為了歷史,當然,這需要時間過渡。

你要說像 react 的 hooks (我沒寫過 react 只是稍微能看得懂一些),那也沒法反駁,雖然表面上看起來是兩兄弟,但本質的實現卻不相同,與其稱 Vue 3 的組合函式也叫 hooks,我更喜歡叫他 Composables,事實上,已經有這種庫了,叫 vue-composable,可組合的。

附上 useState 的好兄弟 useStateRef:

import

from

'vue'

/*** @description 返回響應後的值以及可以設定這個值的函式

* @param value 要轉變成響應式的單值

* @param isReadonly 是否唯讀 - 預設唯讀

*/function

useStateRef

(value: T

,isReadonly

=true,)

:[DeepReadonly

T>>|Ref

,(value: T

)=>void

]return

[isReadonly

?readonly

(state):

state

,setState]}

export

default

useStateRef

哈哈,跑題了~

10樓:colagy

我這邊流程有八種狀態頁面需要根據八個狀態分別展示對應的元件用react 和vue分別怎麼來實現?

我用react: new Map() 傳入八種狀態的元件使用的時候 map.get(status) 就返回了對應的元件這個是策略模式

那麼我想問vue如何實現? 用v-if v-else-if v-else-if v-else-if v-else-if v-else-if v-else-if v-else-if v-else-if v-else-if v-else ? 那狀態機如何維護狀態修改元件展示怎麼維護怎麼保證開閉原則?

11樓:

高階元件啊,準確的說是屬性的透傳。react天然支援,vue需要自己去傳繫結的事件和屬性,還要用到slot。不過現在都是hooks/vue組合api,高階元件用到的地方也少了

12樓:C涼涼D

vue既支援template寫法也支援jsx寫法,不嫌棄的話你想直接寫hyperscript也沒人攔著你,怎麼會有vue比react難實現的功能

13樓:Johnson

看來你對vue還不夠深入,你覺得render函式看起來像react是因為vue和react都用了虛擬dom,都是類似的方法creatElement。對於同樣的需求,兩者在實現上區別不大,如果涉及到動畫的可能vue要簡單一些。還有一點是vue要比react做的事情多一些,react僅僅是個view層的庫,其他的東西都需要社群實現

14樓:kingbulubulu

你需要補充一下你的問題,是vue2還是vue3,我沒用過react,但是我覺得vue3組合式API 和 react 差不多

15樓:楊俊

你所描述的問題是模板和jsx的問題,vue是可以寫jsx的,vue slot可以理解為render prop,兩者區別不大。

被罰違章停車,但人在現場,處罰手法是否存在問題?不知能否復議

13851127415 本人駕車在門市門口邊停車,不在路上 搬貨物到門市裡,出來就看到2個警察站在車邊上,叫我等他開完罰單再走,哈哈哈哈,你不知道吧,江蘇省阜寧縣就這樣,我們習慣了 九孔法寶 路邊如果是黃線的話,無論是臨時還是長期都不能停的。因此在這種情況下,對你做處罰沒有任何問題。但是如果你當時上...

是否存在人體冬眠等技術已經成熟但遭到封鎖的可能?

倔強的小韭菜 我一直覺得存在兩個世界 隱暗世界和世俗世界,世俗世界的科學技術都是隱暗世界淘汰的,兩者之間有一種約定,那就是互不干涉!所謂的科學技術,也許只是能量的一種運用,如果隱暗世界的人能夠通過某種世俗世界無法理解的技術展現給世俗世界,世俗世界的人可能稱之為魔法或者法術。比如肉身虛空飛行 接近於真...

審計的時候是否存在你明知對方是財務造假,但就是無法證明的情況?

霸氣側漏 這話題本身就有問題,如果你已經運用了審計中必須要求的那些方法進行了抽查 測試,仍未發現有財務造假,你憑什麼說存在造假?如果你沒有時間或者精力去進行應該做的抽查和測試而又出具了不適合的報告,那麼你自己承擔責任。 我去,你知道對方財務造假,你要證明什麼,證明了又怎樣?是領導直接專案不做了,是小...