react 经典面试

1.生命周期函数


一.初始阶段

componentWillMount 实例挂载前

render 渲染组建

componentDidMount实例挂载完成


二.运行阶段

componentWillReceiveProps 父组建改变时调用

sholudComponentUpdate:主要是用来手动阻止组件渲染,一般在这个函数中做组件的性能优化。

componentWillUpdate:组件数据更新前调用

componentDidUpdate:组件数据更新完成时调用

三.销毁阶段

componentWillUnmount:销毁阶段。一般用来销毁不用的变量或者是解除无用定时器以及解绑无用事件。防止内存泄漏问题。


react中key的作用

key是React中用于追踪哪些列表中元素被修改、删除或者被添加的辅助标识。在diff算法中,key用来判断该元素节点是被移动过来的还是新创建的元素,减少不必要的元素重复渲染。


setState第二个参数的作用

因为setState是一个异步的过程,所以说执行完setState之后不能立刻更改state里面的值。如果需要对state数据更改监听,setState提供第二个参数,就是用来监听state里面数据的更改,当数据更改完成,调用回调函数。


sass和less的区别

定义变量的符号不同,less是用@,sass使用$

变量的作用域不同,less在全局定义,就作用在全局,在代码块中定义,就作用于整哥代码块。而sass只作用域全局。

编译环境不同,less在开发者环境编译,sass在服务器环境下编译。

react生命周期中,最适合与服务端进行数据交互的是哪个函数

componentDidMount:在这个阶段,实例和dom已经挂载完成,可以进行相关的dom操作。

父传子(组件嵌套浅):父组件定义一个属性,子组件通过this.props接收。

子传父:父组件定义一个属性,并将一个回调函数赋值给定义的属性,然后子组件进行调用传过来的函数,并将参数传进去,在父组件的回调函数中即可获得子组件传过来的值。


react性能优化的方案

(1)重写shouldComponentUpdate来避免不必要的dom操作。

(2)使用 production 版本的react.js。

(3)使用key来帮助React识别列表中所有子组件的最小变化。


webpack

webpack是一个前端模块化打包工具,主要由入口,出口,loader,plugins四个部分。前端的打包工具还有一个gulp,不过gulp侧重于前端开发的过程,而webpack侧重于模块,例如他会将css文件看作一个模块,通过css-loader将css打包成符合css的静态资源。


Es6中箭头函数与普通函数的区别?

1.普通function的声明在变量提升中是最高的,箭头函数没有函数提升

2.箭头函数没有this,arguments

3.箭头函数不能作为构造函数,不能被new,没有property,

4.call和apply方法只有参数,没有作用域


什么是闭包?闭包有什么危害?如何解决闭包带来的危害?

简单来说,闭包就是一个定义在函数内部的函数。因为js中存在作用域的问题,所以在函数内部定义的变量在函数外部是没有办法直接获取到。而闭包就是沟通函数内部和外部的桥梁,这样在函数外部接可以得到函数内部的值。并且闭包可以实现函数属性和方法的私有化。

闭包的危害:

因为闭包会将内部变量储存在内存中,如果长时间不清除的话会造成内存泄漏的问题,影响程序的性能。

解决方法:对于不使用的变量及时的清除。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、react生命周期及相关用法 react的生命周期分为初始化阶段、运行阶段、销毁阶段。(1)初始化阶段 (2)...
    LY的编程生活阅读 1,646评论 1 0
  • 前端开发面试题 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。 题目类型: 理论知...
    怡宝丶阅读 2,611评论 0 7
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,802评论 1 45
  • 作为一个合格的开发者,不要只满足于编写了可以运行的代码。而要了解代码背后的工作原理;不要只满足于自己的程序...
    六个周阅读 8,529评论 1 33
  • $HTML, HTTP,web综合问题 1、前端需要注意哪些SEO 2、 的title和alt有什么区别 3、HT...
    Hebborn_hb阅读 4,678评论 0 20