本文主要是介绍用React+Mobx到底该不该写一个CheckBox组件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
从接触React到现在有几个月了,对React的理解也在不断的加深。
最开始还是在拿React当工具用,嗯,就是比模板引擎牛逼点的工具。
后来觉得React在颠覆,颠覆自己对html的认识,或者说我更能理解到React是希望程序员(我)摒弃掉html的概念
换句话说,如果写一些类似Div的组件就能彻底不使用html了呢
也就是“构建跨终端的组件”,以前一直不理解,现在理解了(之前还为此跟一个前辈争论了呢,凭我倔强的性格,相比肯定是气到了这位前辈)
既然差不多理解了React的组件,那什么时候写组件呢?
我按照以前写html的习惯,像button啦,form感觉都应该写一个组件。
也就是说,我写组件的第一个想法还是模拟html标签(现在我给我自己的组件也统称为伪标签)。
当我遇到checkbox的时候,我有点纠结了,按理说应该写一个CheckBox,还要再写一个CheckBoxGroup,antd就是这么干的
但是!用Mobx以后,会发现,写一个CheckBox,最终管理数据的还是Mobx
打个比方:你有一个数组,里面有3个对象,对象的属性都是label、value、checked,要么把这个数组放在CheckBoxGroup里,要么就放在一个循环里。
实际上CheckBoxGroup的工作也只是循环一下数组,然后显示出数组中的label,和根据checked来显示不同的样式。
那用CheckBoxGroup和不同,其实从代码角度来讲已经没有什么区别了,因为也没有太好的复用性,至于性能,我就不好评估了。
剩下的就是样式了,我一直觉得组件复用的只是一部分逻辑,更多的是样式(也可以说是标准)。
就是网站都用一个button组件,样式有一定的规范,通过引用达到整个网站的统一,修改的时候也不用全改。
那也就是说,组件有两种创建的理由:逻辑和样式
暂时到这吧,最终的结论:为了网站的一致性,还是要有一个统一的样式把CheckBox封装起来的,虽然这样做对逻辑并没有什么卵用。
PS:如果只是单纯的规范化样式,可以用sass
这篇关于用React+Mobx到底该不该写一个CheckBox组件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!