导语
记录下,个人理解的angular vs react的不同点,加深理解。
定位
Angular
- Angular是一个成熟的MVC框架,包含并不局限于Typescript,依赖注入,RxJs,Ngrx等等
- 遵循两个方向的数据流
React
- React是一个简单的javascript UI库,用于构建高效、快速的用户界面, 只关注MVC的视图部分,但还需要其他,譬如Redux等组合才能实现,而第三方库的学习,也是需要时间成本的。
- 遵循从上到下的单向数据流
两者比较
内容 | Angular | React | 浏览器 |
---|---|---|---|
加载、解析 | 虚拟Dom, 把js dom操作集中化处理,提升性能 | 从上到下解析html,转变为Dom js对象 | |
虚拟dom | 维持2份,一份上一状态,一份当前状态,比对出change,然后更新到真是dom,进而刷新到UI | 无 | |
语法 | angular语法 | jsx 语法,把js声明ui过程封装下,减少重复,easy 开发 | js 语法即可 |
组件 | 函数组件,纯净的,用完就结束的,没有声明周期可谈;extends组件; 受控组件: react组件内存自己管理;非受控组件: 通过ref操作的; | function声明 | |
类型检查 | 自带typescript | PropTypes 为组件提供类型检查,并为其他开发人员提供很好的文档。如果react项目不使用 Typescript,建议为组件添加 PropTypes | 无 |
常用生命周期 | ngAfterViewInit,ngDestory | componentWillMount,componentWillUnMount | 无 |
样式操作 | 导入外部文件 ;使用js ;使用style行内样式 | 导入外部文件 ;使用js ;使用style行内样式; 使用styleComponent | js |
插值显示 | {{}} | {} | / |