你是框架我是包, js的降维攻击
js有一点特别牛, 他的外部代码的引入类似c是包的形式, a包换成b包并不会导致我要修改代码. 因此, 一个完美的js框架是那个可以降维成包的框架.
知乎大神 方应杭(https://www.zhihu.com/people/zhihusucks)有个答案特别棒
React 的哲学是:如无必要,勿增实体。
Vue 的哲学是:什么好用,给你什么。
Vue 会自动帮你绑定 this,React 不会,因为 JS 能做;
Vue 会自动帮你合并 class 和 style,React 不会,因为 JS 能做;
Vue 会给你的 data 创建 getter/setter,React 不会,因为 JS 能做;
Vue 会给你提供 v-if / v-for / v-show,React 不会,因为 JS 能做;
Vue 会给你提供 computed / watch / methods,React 不会,因为 JS 能做。
那么 React 到底提供了什么?
只提供了一条让你用原生 JS 解决所有 UI 问题的途径。
很多新人给我的反馈是:
Vue 用久了,好像不会写高级的 JS 了,只会一些简单的,居然就能完成工作。
而 React 用久了,就发现 JS 的语法特性真多啊,学都学不过来。