写在前面:vue 和 react 两个前端常用框架是做前端的人都要学的,国内用 vue 做项目的公司会多一些,原因就是简单、简单、还是tmd简单;大公司像美团、腾讯都是用 react 的。
核心理念不同
react:是 facebook 团队开发的,颠覆传统前端开发习惯,使用函数式编程,渗透了纯函数、数据不可变、状态机等概念
vue:是个人开发的,追求简单易懂,传统前端转 vue ,会更容易,vue 在 templete 里写 html,在 style 里面写 css,
编程方式不同
react 是函数式编程使用纯函数、保持数据不可变,函数式编程式前端发展的趋势;
vue 2.0 是声明式编程,vue 3.0 添加了 composition API。
JS/HTML
vue 面向 html,使用模板;
react 面向 js, 使用 JSX;
数据监听
vue 的数据会被 watch 监听,产生变化自动通知页面重新渲染;
react 需要调用 setState 才能更改数据。
共同点
- 都支持组件化,一个组件就是一个对应的试图,里面有样式和行为,支持组件化才能更好的复用组件
- virtual DOM 加 diff 算法,操作 DOM
- 单向数据流,数据驱动视图
- 社区成熟,都支持 SSR
==>to be improved...