vlambda博客
学习文章列表

与 React 相比,Vue.js 有哪些优点?

  React组件是函数,所以写React组件其实就是在写函数,写一个什么样的函数呢?一个接收 `props` 作为参数的函数,至于 `props` 这个参数中包含什么那就您随意了,所以js这门语言所拥有的都可以看做是React拥有的,比如高阶组件不就是高阶函数嘛~

Vue的组件也是函数,只不过写Vue组件却不是在写函数,而是在写函数的参数,比如:

export default {
name: 'FuckComp',
created () {
console.log('fuck fuck fuck')
},
props: ['a', 'b']
}

这不就是一个普通的对象嘛,可以看到 `props` 只是参数的一部分。

以上是内容说明什么呢?打个比喻,比如实现:debounce(func, [wait=0], [options={}])函数。用React实现就像是你需要完全自己开发:

function debounce (func, wait, options) {
// ... 具体实现你自己去写
}

而用Vue实现就像你仅仅需要传递一个配置对象:

// 你只需要告诉我你要的是什么,具体我帮你实现
{
fn: func,
wait: 0,
options: {}
}

从这个角度来看的话我们还可以举一个不严谨的例子:把React比作nodejs,那么Vue就是Koa。

Vue说它简单,理由是:React组件是函数,Vue组件是高度封装的函数。

React说它拥有完全的JavaScript能力,理由也是:React组件是函数,Vue组件是高度封装的函数

所以你看,优点不优点的,最后不都看个人口味吗。

用Vue真的很爽就像在吃糖,但有时候React的灵活真的也能让你有种想要大展才华的快感。