前端面试题六(主流框架异同篇)

1.react跟vue的区别?

相同点:

  1. 都有组件化开发和Virtual DOM (提升程序的运行效率)
  2. 都支持props进行父子组件间数据通讯
  3. 都支持数据驱动试图,不直接操做真是DOM,更新状态数据界面就自动更新
  4. 都支持服务器端渲染
  5. 都支持natived 的方案,React的React Native, Vue 的Weex, (都支持原生的跨平台运用)

不一样点:

  1. 数据绑定:vue实现了数据的双向邦定,react数据流动是单向的
  2. 组件的写法不同,React推荐的作法是JSX,也就是把HTML和CSS所有都写进Javascript了,即 'all in js', Vue推荐的作法是 webpack + vue-loader的单文件组件格式,即 html,css,js 写在同一个文件
  3. state对象在React应用中不可变的,须要使用setState方法更新状态,在vue中 state对象不是必须的,数据由data属性在vue对象中管理
  4. virtual DOM不同,vue会跟踪每个组件的依赖关系,不须要从新渲染整个组件树,而对于React而言,每当应用的状态改变时,所有组件都会从新渲染,因此react中会须要shouComponentUpdata 这个生命周期函数方法来进行控制
  5. React严格上只针对MVC的view层,Vue则是MVVM模式

2.Redux 管理状态的机制

对Redux的基本理解

  1. redux是一个独立专门用于作状态管理的JS库,不是react插件库
  2. 它能够用在 react,angular,vue等项目中,但基本与react配合使用
  3. 做用:集中式管理react应用中多个组件共享的状态和从后台获取的数据

Redux的工做原理

1. redux的结构 三个模块:

  1. store (内部管理着状态)
  2. reducers (根据老的状态生成新的状态)
  3. action creator (专门生成action对象的)

2.store内部管理着state状态, react组件跟 reducers的通讯就根据store来的,store至关于桥梁,提供了两个方法,一个读 getState(),一个更新dispatch()

Redux 使用扩展

  1. 使用 react-redux 简化 redux 的编码
  2. 使用 redux-thunk 实现 redux 的异步编程
  3. 使用 Redux DevTools 实现 chrome 中的调试
相关文章
相关标签/搜索