vue和react有很多共同之处,但也存在完全不同的方面
1. 模板 VS JSX
VUE中书写DOM结构依然使用原始的html代码,将html、js、css分在不同标签中书写
而React中使用jsx,将js和html结合。
2. 状态管理 VS 对象属性
vue和react中对于共享数据的管理都不是核心库完成的,而需要导入第三方库实现。-- redux和vuex
react中的redux管理的state,不能直接被改变,而是通过setState更改。
而vue中state不是必须存在,组件中的data可以管理该组件中的数据
3. 更改
在react中,当某个组件发生改变,则以该组件为根,其所有子组件都要重新渲染。如果需要避免不必要的某个子组件重新渲染,需要在所有可能的地方使用pureComponent或者手动添加shouldComponentUpdate
方法。
而在vue中,因为组件的依赖是在渲染过程中自动追踪的,所以系统能精确的知道哪个组件被更改了,只重新渲染该组件
4. 构建工具
二者都有属于自己的项目构建工具,react是create-react-app,vue是vue-cli
5. 数据流
vue支持双向数据绑定,react是单向数据流