关于react和angular有什么区别已经各有什么优缺点

react本身只是view层!本身只是view层!本身只是view层!因为很重要所以说三遍!

angular有自带的数据绑定、渲染、事件管理、路由、ajax……等等一系列工具,但是这些东西react自身都没有。

react实际上只是提供了一套编写dom组件的工具,并且与原生一样,可以在组件上添加事件、操作数据,由于它是在内存中而不是在实际页面里实现的dom,所以性能极佳。但是由于缺少了太多其它成分,并不能称之为一个完整的框架(当然这里没有讨论flux)。

但是它的伟大之处就在于,提出了virtual dom这种新颖的思路,并且这种思路衍生出了react native,有可能会统一WEB/NATIVE开发(虽然我觉得阻力重重)。

总结如下:
Angular生产效率高,很多情况下其实你根本不需要考虑什么双向绑定导致的逻辑混乱,因为实际生产中遇到的大都是 逻辑较为简单的绑定。单向数据流什么的想法非常好,但是写起来太!麻!烦!了!我只想变更个很简单的数据还要经过action、dispatcher、store、view四步,angular里一行代码就搞定的事情这里却如此麻烦。而且我感觉单向数据流这种模式和“事件发布/监听”模式其实没有太大的区别。
Angular 1.x版本其实是个比较旧的东西了,现在看来有些理念过时了,比如依赖注入、自己独特的模块化,这些东西其实在ES6下已经很好地被解决了。
React 即使配上 Flux 的组合,也不能称之一个完整的框架,比如你想用Promise化的AJAX?对不起没有,自己找现成的库去。而且第三方组件远远不如Angular多。
现在觉得React就像一把精心打造的日本武士刀,在 某些特定场景下非常好用,但你想拿它来切瓜切菜?虽然可以,但总感觉哪里不对。

Angular更像是一把玄铁菜刀,虽然有点重,有时还会钝(脏检查导致性能不高),现在看起来也有点过时了。但是适应性强,效率高,能比较好地应对90%的需求。

您可能还喜欢...