1. vue和react 优点与区别
· 模板 vs jsx
Vue鼓励你去写近似常规HTML的模板,写起来很接近标准HTML元素,只是多了一些属性。
Vue鼓励你去使用HTML模板进行渲染。 React推荐你所有的模板通用JavaScript的语法扩展---JSX来书写
· 状态管理 VS 对象属性
1、如果熟悉React就会知道应用中的状态是关键的概念,有一些配套框架被设计为
管理一个大的state对象,state对象在React应用中是不可变的,它意味着不能被直接改变,
需要使用setState( )方法去更新状态
2、在Vue中,state对象并不是必须的,数据由data属性在Vue对象中进行管理。
data参数就是应用中数据的保存者
·数据流不同
1、Vue可以实现双向数据绑定(父子组件之间props可以双向绑定,组件与DOM之间可以通过v-model实现双向绑定)
2、React一直不支持双向绑定,提倡的是单向数据流
· 框架本质不同
1、Vue本质是MVVM框架,由MVC发展而来
2、React是前端组件化框架,由后端组件化发展而来
vue 和 react 的区别 vuex的数据是可改变 1.vue 偏向dom渲染多一点 react 偏向 js多一点 2. vue支持双向绑定 react 提倡双向数据流 3. vue是MVVM框架 react是前端组件化框架 4. 对数据的操作 Redux使用的是不可变数据
2、Vue解决了什么问题
①**虚拟dom:**dom操作时非常耗性能的,不再使用原生的dom操作节点,极大的解放dom操作,但具体操作的还是dom,不过是换了一种方式。
②**视图、数据、结构分离:**使数据的更改更为简单,不需要进行逻辑代码的修改,只需要操作数据就能完成相关操作。
③**组件化:**把一个单页应用中的各种模块拆分到一个一个单独的组件中,便于开发,以及后期的维护
3、MVVM的理解
View:视图层,Model数据模型,而ViewModel是把两者建立通信的桥梁。
MVVM :数据模型的(数据双向绑定),viewModel是一个(同步view和model)的对象,
model和viewmodel之间的交互是双向的
因此view数据的变化会同步到Model中,而Model数据的变化也会立即反映到View上。
可以说它们两者是实时更新的,互相影响。
ViewModel通过双向数据绑定把View层和Model层连接了起来,
而View和Model之间的同步工作完全是自动的,因此开发者只需要关注业务逻辑,
不需要手动操作DOM,也不需要关注数据状态的同步问题,这些都由MVVM统一管理
MVC:controller(业务逻辑)存在的目的是确保 ( Model (业务模型) 和 View(用户界面)的同步)。
M改变V同步更新
4、如何实现一个自定义组件,不同组件之间是如何通信的
请永远牢记vue是单向数据流
- Props传递数据 (常用)(父传子)
- $emit (组件封装用的较多)(兄弟之间的传递)
- attrs & listeners (监听)
- Provide & Inject
- Ref使用(dom)
- EventBus
- Vuex通信
- 路由传参
自定义组件:
创建子组件的文件,建立组件的模板,把架子搭起来,也就是在子组件中写好