- vue上手难度低,不过react社区活跃度更多一些,一般数据比较多的大型项目会倾向于使用react。在react官网中,官方也建议我们使用React来构建快速响应的大型 Web 应用程序。
- vue2.0是面向对象编程({data: {}, methods: {}, created() {}})是一个对象,vue3.0则采用函数式编程,react是函数式编程(总的来说就是用尽量用函数组合来进行编程,先声明函数,然后调用函数的每一步都有返回值,将具体的每一步逻辑运算抽象,封装在函数中。再将函数组合来编写程序)
函数是javascript的一等公民,一等公民可以作为函数参数,可以作为函数返回值,也可以赋值给变量
- react数据不可变,单向数据流,当然需要双向的地方也可以手动实现,比如借助 onChange 和 setState 来实现一个双向的数据流。而vue是基于可变数据的,支持双向绑定,它提供了v-model这样的指令来实现文本框的数据流双向绑定。
- vue推荐模板来创建你的 HTML,react是jsx语法。
- 在组件通信,vue提供了强大且灵活的props,$emit, ref 通信、bus/on、provide/inject、parent/children、listeners/attrs,vuex等,容易造成滥用,react是自上而下的,在 react 中数据是单向数据流,在组件树中数据只能自上而下地分发和传递。state 、props 、provider、redux,更好管理。
- react的fiber机制使得性能提升了很多,
- reac偏向走hooks编程了,目前vue也在学习它。
- 他们都是数据驱动视图的框架。