博客 / 詳情

返回

[React] [Vue] 從vue切換到react 組件的封裝和使用

在組件封裝上,兩個框架差的不遠。

在Vue中封裝組件,用插槽的方式子組件中寫好具名插槽的位置和樣式,在父組件中通過插槽名傳入html和js邏輯 部分。

在react中封裝組件,區別於Vue的地方在於,Vue中有插槽這個語法,而react中沒有。在react中的html和js邏輯部分的傳遞都需要藉由屬性組件的屬性(Props)來完成。

(在Vue中插槽傳值,在react中屬性傳值)

此外,Vue中組件的樣式(css部分) 可以直接寫在組件中(寫在<style>標籤中),而react需要單獨開一份樣式表。

現在要實現下圖這樣的一個Card組件,預留左上角、右上角、內容區等幾個位置(這些位置可以傳入html)
image.png

在vue中的實現 (CardWithSlot.vue 僅template部分,省略樣式)
image.png

使用:
image.png

代碼見:
https://github.com/DiracKeeko...

在react中的實現 (CardWithSlot.tsx 僅tsx部分,省略樣式表)
image.png

使用:
image.png

代碼見:
https://github.com/DiracKeeko...

完結。

同步更新到自己的語雀
https://www.yuque.com/diracke...

user avatar dujing_5b7edb9db0b1c 頭像 niumingxin 頭像 b_a_r_a_n 頭像 jidongdemogu 頭像 ran_agppr 頭像 3yya 頭像 zhengcaiyunqianduantuandui 頭像 qzuser_5839a60e6dcd4 頭像
8 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.