马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
1.vue和react有什么异同
雷同点:
1.VUE和react都将核心功能放在一个库中,其他的功能交给其他库,好比:状态管理库、路由库、UI库等
2.都支持组件化开辟的头脑
3.运用diff算法和假造dom进步性能
差别点
1.vue通过v-model实现双向数据绑定,而react须要手动通过state和setState实现
2.在改变数据时,vue会精确的更新依靠该数据的视图,而react会更新当前组件及其子组件
3.实现数据相应的方式差别,vue通过get和set方法,在set数据时,触发视图更新,在react中通过setState方法触发视图更新
2.useEffect中为什么不能利用异步
1.useEffect中的函数必须在组件烧毁的时间调用,以是react在实验的时间必须拿到这个返回值,组件在烧毁的时间才气够调用这个返回值
2.在react中,只有第一个useEffect中的函数实验完毕,才会实验第二个useEffect中的函数,如果异步实验的化,会使组件的状态变得复杂难以管理。
3.useEffect和useLayoutEffect的区别
1.两者在平常利用的时间没有区别,在获取组件布局元素的宽和高的时间,利用useLayoutEffect,别的情况利用useEffect
2.useEffect是在dom更新而且挂载到页面之后实验,而useLayoutEffect是在dom更新之后,挂在到页面之前实验的,会壅闭页面的渲染
4.react的生命周期
react生命周期包罗三个阶段:挂载阶段、更新阶段、卸载阶段
5.state和prop的区别
state是组建的内部状态,组件是根据这个内部状态举行数据渲染的,而prop是,由于react有组件化的头脑,当一个组件依靠别的组件的数据,可以通过prop举行数据的通报,从而举行组件的渲染。
6.受控组件和非受控组件
受控组件就是受状态控制的组件,好比input组件的value值受state影响,当state改变时,value值就会改变;非受控组件他的初始值受传入的值影响,如果要获取最新的值的话,通过ref定位到dom元素,通过dom元素获取最新的值。
7.为什么react16之后不把变乱挂载到document上了
由于项目中只有一个document,将变乱挂载到根节点上,差别组件有差别的根节点,如许就可以让差别版本的react应用可以共存到一起,而不消思量兼容性标题。
8.讲一下react的hoc,它可以用来做什么?
hoc就是高阶组件,高阶函数是吧一个函数作为参数传入到另一个函数中,实现功能更强盛的函数,而高阶组件是将一个组件作为参数传入到另一个函数中,相比于vue,react更轻易实现高阶组件,由于每一个react组件就是一个函数。
hoc可以用来作条件渲染、权限控制
9.讲一下对react fiber的明确
fiber是为了进步渲染性能和提拔用户体验而提出来的
react和vue的diff机制差别,在vue中作相应式处理处罚data数据的时间,同时做了依靠网络,以是当数据更新的时间,会精确的更新组件,而react差别,他在setState的时间必须同时更新当前组件及其子组件,而且在react16之前没有提出fiber的时间,他们是同步渲染的,这就会导致不绝占用欣赏器的资源知道这个动作完成,如果项目很大通常会造成卡顿的征象。因此react16提出了fiber的概念,他将一个任务分解成很多小的任务,而且任务有优先级,可以根据优先级的高低,将正在运行的任务实验完毕就克制,实验其他的任务,当实验完优先级高的任务之后,再实验优先级低的任务,如许就可以进步渲染性能,提拔用户体验。
10.讲一下react.component和react.pureComponent的区别
在react更新组件的时间,会更新当前组件及其子组件,但是大部分时间子组件是没须要更新的,因此提出了pureComponent,但是pureComponent在比力引用对象时只是浅比力,只会比力变革前后是否指向同一片地域,而不会比力该地域的值。
11.怎样明确react的hooks?hooks的利用限定有哪些?
hooks可以让函数组件具备类组件的本领,好比利用state和生命周期等,常见的hooks有useState、useEffect、useRef等
利用限定:只能在函数组件中利用:由于hooks就是为了让函数组件更机动利用而诞生的
不能在条件、循环中利用:react内部是通过链表来次序实验hooks,如果在条件或循环中利用hooks会粉碎他的有序性导致步调杂乱难以管理。
12.react性能优化方式
1.克制组件无效渲染:利用PureComponent、shouldComponentUpdate、React.memo
2.在列表渲染时,添加key属性,可以进步diff的服从
3.利用懒加载
4.利用服务端渲染,镌汰首页加载时间,有利于SEO
5.利用一些优化的hooks,好比useMemo:可以将一个值缓存起来,只有他的依靠改变的时间重新盘算,useCallBack:he useMemo雷同,只是缓存的是一个函数
13.react中的jsx转换为真实dom的过程
jsx会通过babel举行转译,终极转译为react.createElementd的情势,然后react.createElementd会根据参数的差别实验差别的逻辑
14.讲一下对setState明确(包罗同步、异步、实验机制)
setSate在实验的时间是同步的,但是引发react的状态更新是异步的,如果是同步的化,每调用一次setSate就会触发react状态更新,再触发组件的重新渲染,如果是异步的话,就能包多次setState的值归并到一个对象中,根据对象的值一次性触发react状态更新和组件重新渲染,如许就能进步性能,提拔用户体验。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
|