我对 React 与 Vue 中“vue”的看法
在选择框架/库时,我个人会考虑以下几点。
- 他们的能力
- 与他们一起开发的经历
能力
就功能而言,它们都能做同样的事情。它们都利用了虚拟 DOM,并且具有类似的组件概念。Vue 能够实现而 React 不具备的功能是<transition>
组件。这使得构建动画 UI 变得更加简单,并且赋予了你更多的控制权。(更多信息请参阅https://vuejs.org/v2/guide/transitions.html)事实上,由于 Vue 强大的动画和过渡功能,我怀疑这也是 Facebook 使用 Vue 构建该网站的原因。(https://newsfeed.fb.com/?lang=en)
开发经验
从开发经验上来说,我认为 Vue 比 React 有优势。
学习曲线不太陡峭
人们普遍认为 Vue 的学习曲线比较平缓。这主要归功于其优秀的文档和指南,以及框架的简洁性。
此外,Vue 是真正的响应式框架。this.a = "hello world"
它会改变显示的文本。而在 React 中,你必须手动操作,this.setState((prevState, props) => {...})
这不太直观。
Vue 的设置也更加简单。vue-cli 3 提供了一个开发者友好的界面来创建新项目。创建的项目会将其开发依赖项(例如测试框架、打包器、linters 等)以插件形式安装。其背后的理念是让 Vue 项目能够轻松跟上标准。假设有一天 Vue.js 决定使用 Parcel 而不是 Webpack 作为其推荐的模块打包器。现有项目只需更新即可无缝切换到 Parcel,bundler-plugin
无需担心移除旧技术栈、安装新技术栈并进行配置。(观看关于 vue-cli 3.0 的视频:https://youtu.be/TRJMT9yjONQ? t=10m18s )
Vue 对现有项目也非常友好。你可以用多种方式使用 Vue,从添加<script>
标签到使用 webpack/parcel/rollup 等打包工具。Vue 的灵活性使其成为集成到现有项目的绝佳选择,无需引入额外的构建步骤。
Gitlab 是使用 Vue 组件替换其网站部分内容的公司之一。更多信息,请参阅:https://about.gitlab.com/2016/10/20/why-we-chose-vue/
开箱即用的组件范围 CSS
React 也许也能实现,但 Vue 的处理方式更简单直接。因此开发体验更好。
html、js、css完全分离
虽然在同一个文件(.vue
)中,这三个部分被清晰直观地划分在三个标签(<template>
、<script>
和<style>
)中。因此,混淆它们的可能性非常小。而在 React 中,由于 JSX,这三个部分很容易混淆,导致代码维护性下降。这常常让我想起早期使用 PHP 编程时的经验不足。遵循良好的标准可以解决这个问题,但如果我们能找到一些更不容易出现这种问题的方法,岂不是更容易?
Vue 有更多官方库
路由器和存储是开发大型应用程序必不可少的两个主要功能。React 拥有react-router
和redux
,但它们都不是 React 的官方库。(由于 Facebook 招募了 Redux 的创建者,Redux 已被添加到官方库中。)另一方面,Vue 拥有vue-router
和 ,vuex
它们是官方库。
出色地...
Angular.js 刚出来的时候我很喜欢。后来我转向了 Angular 2。后来发现 Angular 2 太复杂了,就换用了 React。我很喜欢 React + Redux。React Redux 的很多概念真的很有启发性。去年夏天我发现了 Vue.js,然后就爱上了它。目前我是 Vue 官方项目 VuePress 的活跃贡献者。( https://github.com/vuejs/vuepress )
有些人更喜欢使用 JSX,并且“用 JavaScript 做所有事情”。我尊重他们的意见,但真心希望他们在尝试过其他替代方案之后再做决定。否则你可能会错过下一个心仪的版本。
鏂囩珷鏉ユ簮锛�https://dev.to/ycmjason/my-point-of-vue-in-react-vs-vue-2c6b