10. 受控组件与非受控组件的区别,使用场景?UI组件是受控组件还是非受控组件?
答案:受控组件(Controlled Component)代指那些交由 React 控制并且所有的表单数据统一存放的组件。而非受控组件(Uncontrolled Component)则是由DOM存放表单数据,并非存放在 React 组件中;
公司:阿里
11. React与Vue的区别
答案:- 相同点
- 都有组件化开发和Virtual DOM
- 都支持props进行父子组件间数据通信
- 都支持数据驱动视图, 不直接操作真实DOM, 更新状态数据界面就自动更新
- 都支持服务器端渲染
- 都有支持native的方案,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中会需要shouldComponentUpdate这个生命周期函数方法来进行控制
- React严格上只针对MVC的view层,Vue则是MVVM模式
公司:阿里
14. react虚拟dom原理,何时更新?何时销毁?
答案:公司:阿里
15. hooks原理?
答案:详解