我最近稍微学了一下ReactJS,感觉写起代码来很奇怪,虽然说要比直接操作dom的jquery好多了,但是总感觉代码量太大了,而且看起来不直观。
Vue.js那种模版引擎式的声明式绑定看起来更加直观,让我们这些用习惯了后端模版引擎比如说Java的JSP,php的smarty的人来写要亲切多了(比如说v-if,v-for之类的)。语法糖也多,什么methods,data区分的很明确,代码简洁而明了。
ReactJS的JSX语法看起来很怪异,render方法返回的模版本身还需要改写原生html的一些地方(比如说className之类的),数据绑定方面得自己写对象,然后自己给他加set,get方法(就像写java实体类一样很繁琐),然后通过在dom里面监听change事件,触发事件来实现数据绑定,感觉反而有点不优雅。(我还没学到redux这里,不知道这个东西是否能让这种数据绑定操作简单一点)
但是现在很多大型商业项目比如说新版知乎用的就是ReactJS,想必他一定也有自己的优势特色把,所以请问一下这个框架优点有哪些呢?相对于Vue.js来说又有什么除了我说的以外的哪些不足呢?
Vue 比react好,很多人用react 完全是崇洋媚外
只有愚蠢的人类才会进行比较,有种两种都会!
我之前看了一篇外国大牛写的一篇文章,感觉非常有道理, 翻译出来了, 地址:http://www.mh611.com/blog/201... 。
原文中有一段翻译,个人认为还是比较经典的:
React是用js来包含html, 而Vue.js, Angular之类的是用html来包含js.
html从出现的那一刻开始就比较涣散,对Html标签的扩展,所能实现的能力远不如用js的强大功能来实现。
另外扩展html, 使用者另外还要学习一套语法结构。 react则不用过多学习额外语法。
react 容易处理逻辑性强的组件, vue 模板方式有局限, 不容易调试
没有那个好,只有最合适
之前因为老大要求 然后学习了react
真的 学起来确实拗口 感觉就是比较难以理解 写起来感觉很奇怪 主要就是写js的时候 就是觉得很怪 而且 写的时候你很难往它的思路上走 虽然可以理解 但是 写起来就是很拗口 比如props
啊 传值的时候感觉难以理解 同时 react只是一个view层
你要想学好 真的是还要费特别多的功夫 还要学好让人难以理解的flux
要不然 用react
的意义也就不大了 可能自己本身比较笨 感觉真的挺难
然后 最近学习了一下vue
确实 用起来真的好方便 也很容易上手 它的父子组件通信
啊 抑或是不同组件之间通信
什么的 都是比较容易理解的 就是render函数
那部分还是有点懵逼
之前也联系过一段时间的angular
也不知道现在的2成什么样了 相比较 react angular
也是特别容易理解 model、control、router
angular
的这三部分 真的是分得特别清楚 一看就清楚 还有它“需要什么 就注入什么”的思想也是很清晰
要说优点的话,社区更发达是最大优点之一。
然后就是风格问题,React配合严格Flux架构更适合大型的多人协作复杂项目,但与此同时它又不如Vue的灵活。
其他方面只能说各有优劣。而题主所说的几点,更多是个人喜好问题,很难称的上是优劣。
选自己喜欢的就好。
React还是Vue:你该如何选择?
谢邀,没觉得 React 比 Vue 好,因此虽然在用 React,但没有去学他。
如你所说,React 没 Vue 易学,也有不少令人不习惯的地方,因此我现在维护的一个项目中,可以看到好多前人留下来的不优雅的写法,可以不完全归纳出——要么是 React 难学前人没学精,要么是 React 本身不够优雅。
管是这两个还是其他的
选适合自己项目的就可以。
也可以自己搞一个适合自己业务的,不用其他的。
没什么攀比的吧
Vue和React个人觉得还是相差挺大的。
指Vue0.x和1.x,2.x没用过。
React和全组件化思想以及高内聚
,低耦合
以及props
是优点,但是玩的不转的话会被坑,玩得好的话项目大小没有问题,而且也有活跃的社区,工具链,最佳实践等等。
Vue简单一点,上手也快,但是项目大的话,如果抽象能力不强,容易重复遭轮子
谢邀。
react与vue都有在用,我不是太想回答到底哪个比哪个好。两者给我的感觉都差不多,从模版到事件再到数据流(redux 与 vux,都是flux概念), 个人感觉vue是在react与angular两者之间的优点结合下的产出。其实谁更好,完全看自己编码喜好吧。但唯一一点让我觉得vue还是不错的是它的双向数据绑定,react是单向的。
关于是否react比vue好,这个问题不重要,重要的是自己喜欢哪个,自己的项目用哪个更合适。每个人都有自己不同的意见,在你不了解他们的时候只会被这些回答把你自己搞懵逼了,还不如自己找时间深入了解下到底差别在哪里。
讨论哪个框架更好,或者跟人撕逼vue比react好或者比angular好,不觉得是极其无聊毫无意义的事情吗?
有这时间还不如多看看源码与文档更深入的去了解人家到底好在哪里。
个人观点,勿喷...