[嵌牛导读]
Think Always带着React的心态去接触Vue
由于最近项目web端选择使用Vue,而我在前段时间刚好接触了React,所以在这样的状况下,遇见了Vue。尽管呢,两者使用时间都不是很长,但是遇到的问题却是不少,管中窥豹,从自身的角度来谈谈两者的异同。
[嵌牛鼻子]
Vue,Vuex,React,Redux
[嵌牛提问]
-
Vue && React
两者都采用了组件化的思想,具有同样特殊的数据绑定,不同之处在哪里? - 使用两者编程最直观的感受如何?
- 怎样判断在你的项目中使用
Vue || React
[嵌牛正文]
Data Flow一. 组件和数据绑定
两者都具有MVC的架构模式,如果你使用vue-cli
生成webpack
项目模板,你会发现代码组织非常清晰,这点与React
是相似的,都具有比较清晰的代码组织。
- 组件
React显得严谨,Vue则是落落大方。编写时,React
需要采用面向对象的方式来继承Component
,组件内部采用JSX
来编写
class Welcome extends React.Component {
render() {
return <h1>Hello, {this.props.name}</h1>;
}
}
Vue每一个.vue
文件都可为一个组件,在 Vue 里,一个组件本质上是一个拥有预定义选项的一个 Vue 实例,每个组件内部也可以引用,组件之间也可以相互引用。在 Vue 中注册组件很简单:
Vue.component('todo-item', {
template: '<li>这是个待办项</li>'
})
- 数据绑定
两者都有Props
,数据流
,不过Vue本身就已经实现双向数据流v-model
,不像React需要手动事项双向数据绑定。
对于组件之间的通信所形成的数据传递,还没有很完整的想法,不过还是欢迎大家和我讨论。
二. 抉择:Vue or React
Double V
- Vue + Vuex.
优势: 渐进式构建能力是Vue的专属能力,渐进式构建正是Vue最大的优势。Vue具有简洁,合理的架构,这使得Vue非常易于理解,使用起来更加得心应手,更容易构建应用。
弱点: 很明显的一个特点就是:Vue依赖一个单独的人。其他的项目基本都是有一个组织提供支持,而Vue尽管有强大的社区和许多创新型的新增项目,但是Vue的核心开发仍然落在一个人身上,所以在未来的生存之路上必定面临艰辛。
何时选择 Vue + Vuex
如果你有一个传统的Web应用程序,并需要一个坚固稳定的程序层,那么你的答案就是Vue。Vue具有比较清晰的模式,逻辑清晰,代码组织清晰,及时没有经验的团队也可以较为轻松的上手。
Double R
- React + Redux.
优势: React 和 Redux常常需要组合起来使用,两者都非常专注做自己的事,结合其他的功能库可以完美构建应用,对于大多数开发人员还是可以比较轻松掌握概念,并了解单向数据流的优美之处,相互之间的功能组合,互补,可以简化大量用户界面应用程序。
弱点: 要构建一个结构完整,功能丰富的Web应用程序,你需要许多的功能,而一旦你脱离“合作关系”- React Redux和其他你使用的库,很快你的应用将会分散,难以维护,这种松散的架构一定会在未来找你麻烦。
何时选择 React + Redux
如果你仅仅是缺少贴近问题的处理逻辑,需要一个非常完美的能够解决你问题的库,而框架则是次要,那么React + Redux是适合你的。
END
参考文章:前端框架
网友评论