在组件封装上,两个框架差的不远。
在 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…