前端面试题六(主流框架异同篇)
1.react跟vue的区别?
相同点:
- 都有组件化开发和Virtual DOM (提升程序的运行效率)
- 都支持props进行父子组件间数据通讯
- 都支持数据驱动试图,不直接操做真是DOM,更新状态数据界面就自动更新
- 都支持服务器端渲染
- 都支持natived 的方案,React的React Native, Vue 的Weex, (都支持原生的跨平台运用)
不一样点:
- 数据绑定:vue实现了数据的双向邦定,react数据流动是单向的
- 组件的写法不同,React推荐的作法是JSX,也就是把HTML和CSS所有都写进Javascript了,即 'all in js', Vue推荐的作法是 webpack + vue-loader的单文件组件格式,即 html,css,js 写在同一个文件
- state对象在React应用中不可变的,须要使用setState方法更新状态,在vue中 state对象不是必须的,数据由data属性在vue对象中管理
- virtual DOM不同,vue会跟踪每个组件的依赖关系,不须要从新渲染整个组件树,而对于React而言,每当应用的状态改变时,所有组件都会从新渲染,因此react中会须要shouComponentUpdata 这个生命周期函数方法来进行控制
- React严格上只针对MVC的view层,Vue则是MVVM模式
2.Redux 管理状态的机制
对Redux的基本理解
- redux是一个独立专门用于作状态管理的JS库,不是react插件库
- 它能够用在 react,angular,vue等项目中,但基本与react配合使用
- 做用:集中式管理react应用中多个组件共享的状态和从后台获取的数据
Redux的工做原理
1. redux的结构 三个模块:
- store (内部管理着状态)
- reducers (根据老的状态生成新的状态)
- action creator (专门生成action对象的)
2.store内部管理着state状态, react组件跟 reducers的通讯就根据store来的,store至关于桥梁,提供了两个方法,一个读 getState(),一个更新dispatch()。
Redux 使用扩展
- 使用 react-redux 简化 redux 的编码
- 使用 redux-thunk 实现 redux 的异步编程
- 使用 Redux DevTools 实现 chrome 中的调试
欢迎关注本站公众号,获取更多信息