前端React面试问题总结,助你查漏补缺
对于Web前端开发人员来说,React想必大家一定不陌生。想要学好前端React是绕不开的知识点,不仅如此,很多人在面试中也会被问到React的相关问题,为了帮助大家更好的准备面试,千锋武汉IT培训小编给大家分享前端面试中React的问题总结,希望能够对正在从事Web前端工作的小伙伴们有所帮助。
React和vue的区别
=> 相同点:
1.数据驱动页面,提供响应式的试图组件;
2.都有virtual DOM,组件化的开发,通过props参数进行父子之间组件传递数据,都实现了WebComponents规范;
3.数据流动单向,都支持服务器的渲染SSR;
4.都有支持native的方法,React有React native,vue有wexx。
=> 不同点:
1.数据绑定:Vue实现了双向的数据绑定,React数据流动是单向的;
2.数据渲染:大规模的数据渲染,React更快;
3.使用场景:React配合Redux架构适合大规模多人协作复杂项目,Vue适合小快的项目;
4.开发风格:React推荐做法jsx + inline style把html和css都写在js了,vue是采用Webpack + vue-loader单文件组件格式,html, js, css同一个文件。
redux中的reducer(纯函数)
Redux数据流里,reduces其实是根据之前的状态(previous state)和现有的action(current action)更新state(这个state可以理解为上下累加器的结果),每次redux reducer被执行时,state和action被传入,这个state根据action进行累加或者是'自身消减'(reduce),进而返回新的state,这也就是典型reduce函数的用法:state -> action -> state。
React的refs
refs就像一个逃生窗,允许我们之间访问dom元素或者组件实例,可以向组件添加一个ref属性的值是一个回调函数,它将接受地城dom元素或组件的已挂在实例,作为首个参数。
React中的keys
帮组我们跟踪哪些项目已更改、添加、从列表中删除,key是独一无二的,可以让我们高效的去定位元素,并且操作它。
React的生命周期
三个状态:Mounting(已插入真实的DOM)、Updating(正在被重新渲染)、Unmounting(已移除真实的DOM),componentDIdMount 在首次渲染后调用,只在客服端。之后组件已经生成对应的DOM结构,componentDidUpdate 在组件完成更新后立即调用,在出初始化是不会调用。
React子组件向父组件传值
父组件通过props 给子组件传递数据,子组件则是通过调用父组件传给它的函数给父组件传递数据
为什么虚拟DOM会提高性能
虚拟DOM相当于在js和真实dom中间加了一个缓存,利用dom diff算法避免了没有必要的doom操作,从而提高性能
具体实现步骤:
·用JavaScript对象结构表示DOM树的结构;然后用这个树构建一个真正的DOM树,插到文档中;
·当状态变更的时候,重新构造一棵树的对象树,然后用新的树和旧的树进行对比,记录两棵树差异;
·把2所记录的差异应用到步骤1所构建的真正的DOM树上,试图就更新了。
以上就是给大家分享的关于前端开发中React的面试问题总结,希望对正在找工作的你有所帮助。如果你想学习Web前端也可以来千锋武汉Web前端培训,采用全新六维全息课程,强化加薪技术深度,全方位助你成为一名具有竞争力的前端工程师,如果你想学习Web前端,可以来千锋武汉Web前端培训领取两周试听课,亲身实地感受教学效果。
猜你喜欢LIKE
最新文章NEW
相关推荐HOT
更多>>热门推荐
准备好六部分的知识点,包你Java面试无压力!
沸武汉Java培训分享:Java面试中需要注意什么?
热武汉Java培训分享:Java面试中最常问到的7个问题!
热面试必备:Java方法区存储了哪些数据?
新金三银四跳槽季,这些程序员谈薪小技巧快来get!
武汉Java培训分享:Java程序员面试前要做好哪些准备?
Java面试时,六道超经典的Spring面试题汇总
经典的Java面试题及回答集锦
Java常见面试题及答案汇总
Java面试前这样做,等于成功了一半!
Web前端开发者想找到好工作,离不开一份完美的简历!
30道Web前端面试题,你能答出多少道?
Java程序员如何顺利拿下阿里的offer?这些面试题你要掌握
48道常见Java面试题大综合,面试必备!