React
React主要用于构建UI,单向数据流,可以是自定义组件,也可以是dom节点。 优点:
- 所见即所得,可以直观看到组件渲染的方式及功能。
- 服务端渲染,优化seo
- 虚拟dom,减少dom操作,具有兼容ie8的能力
- diff算法,将O(n^3)降低至O(n)
- 模块化,当某个或某些组件出现问题时,可以及时隔离
缺点
- React本身只是个V而已,并不是一个完整的框架,如果是大型的项目,需要配合
react-router
及redux/mobx
。dva
也是个不错的选择~
Vue
Vue是一款轻巧,可组件化的MVVM库,同时非常容易上手。 优点
- 丰富的指令,使开发效率大大提升
- 双向数据绑定
- 轻量级
- 插件化
- 天生scope css 缺点
- 生态相对react来讲没有那么庞大
- 灵活的副作用,在集合到大型项目中有时候会有一些问题
React or Vue
两者不同点
- react使用虚拟dom,vue使用dom模板
- vue自动双向绑定,react需要手动书写可控制组件
vue双向绑定原理 使用Object.defineProperty()的get和set方法绑定 新版本会有es6的Proxy对象 react绑定原理 将组件可控,手动使其值和组件中数据绑定
不论是react还是vue,都是目前最给力的组件化前端框架,不仅会使用,明白其原理才是最终目标。
#日常总结