使用react的感触
react可以对组件进行拆分,所以我感觉react组件对页面整体依赖性不大,以前用smarty的时候,感觉有的时候写组件,总是会因为UE稍微变一点样式,可能那个组件就不能复用了,或者有时候重构某一个页面的时候。可能如果用smarty的话,很多以前写的都不能用了,用smarty的时候改动一个东西对页面的结构可能影响比较大,但是react直接拼装就可以了,react对解耦比较好,很多组件只要拿过来用就可以了,写一次就够了,可以避免重复造轮子,如果有样式改变的,直接把子组件拿过来,外面包一层div用新样式处理就可以了,简而言之就是模块化!模块化!模块化!
目前准备看redux, 等redux上手以后,对处理各种状态值也比较方便,对于大型的项目,smarty往往要定义大量的全局变量来处理各种状态的变化,显得代码很乱也有很多if/else来处理,而用react只要改变一个状态值,可以对应不同的逻辑,用起来也方便,往往组件可以越拆越细,所以状态值也不会很多,显得代码比较整洁,M站的smarty代码中,尤其是模板,稍微大一点的有一两千行,看起来简直想吐,尤其是后端往往只要查一个字段,我就要在一两千行html代码中找那个字段,简直苦不堪言,所以我觉得回到根本react最好的一点就是模块化,往往只要开发一次,就可以拼拼凑凑了,主要是再也不用大段大段写html代码,各种对字段了,有时候一个字段挂了可能整个模板都会挂掉,所以感觉用ajax+react模式可以避免这种情况,也再也不用在几千行html代码中找字段了。。。
对于所有的数据都可以用ajax来获取,免去了让后端去渲染前端模板,可以省一些联调时间,最重要的是,可以在前端来渲染模板,在UI渲染过程中,React通过在虚拟DOM中的微操作来实对现实际DOM的局部更新,并不是直接对DOM进行操作,可以提高性能,节省smarty时,页面渲染所消耗的时间。
目前总结起来就是
模块化 + 不用专门写大段html放在一起 + 不用注意smarty语法 + 虚拟dom各种用状态双向绑定 让我用得比较爽
但是还是很初级,因为刚刚上手,所以以后用了有什么坑再来总结一下。
PS: 如果不用redux的话,感觉各种值通过属性来传递有点繁琐。。。。。