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

在Vue中封装组件,用插槽的形式子组件中写好具名插槽的地位和款式,在父组件中通过插槽名传入html和js逻辑 局部。

在react中封装组件,区别于Vue的中央在于,Vue中有插槽这个语法,而react中没有。在react中的html和js逻辑局部的传递都须要借由属性组件的属性(Props)来实现。

(在Vue中插槽传值,在react中属性传值)

此外,Vue中组件的款式(css局部) 能够间接写在组件中(写在<style>标签中),而react须要独自开一份样式表。

当初要实现下图这样的一个Card组件,预留左上角、右上角、内容区等几个地位(这些地位能够传入html)

在vue中的实现 (CardWithSlot.vue 仅template局部,省略款式)

应用:

代码见:
https://github.com/DiracKeeko...

在react中的实现 (CardWithSlot.tsx 仅tsx局部,省略样式表)

应用:

代码见:
https://github.com/DiracKeeko...

完结。

同步更新到本人的语雀
https://www.yuque.com/diracke...