在组件封装上,两个框架差的不远。
在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...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。