在组件封装上,两个框架差的不远。

在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...


DiracKeeko
128 声望2 粉丝