面试题(react篇)

  1. JSX: Javascript xml是facebook为react开发的语法糖。

    语法糖:糖衣语法,指计算机语言中添加的某种语法,这种语法对语言功能没有任何影响,但方便程序员的使用,主要目的增加程序的可读性,从而减少代码出错的机会。(js语法糖有JSX、typeScript,最终都会被解析为js)

  2. React components 从创建至消失的生命周期及在生命周期内状态与属性的变化?

    1. 初始化initialization(constructor构造函数,初始化state及Props); mounted(包含componentWillMount及componentDidMount两个hook函数,仅执行一次):react
      components被render解析生成对应的dom节点并被插入浏览器的dom结构的一个过程,即从浏览器上看到从无至有的过程);
    2. update: (包含componentWillReceiveProps,shouldComponentUpdate,componentWillUpdate,render,componentDidUpdate)一个Mounted的render
      components被重新render的过程,而重新渲染并不是指相应的react
      dom结构一定发生变化,react会将components的当前state与最近一次的state进行对比,只有当state确实发生改变并且影响到了dom结构时react才会改变对应的dom结构。引发upadate的条件为(1.
      父组件重新render,即props发生变化 ;2. setState)
      shouldComponentUpdate:此方法通过比较nextProps,nextState及当前组件的this.props,this.state,返回true时当前组件将继续执行更新过程,返回false则当前组件更新停止,以此可用来减少组件的不必要渲染,优化组件性能。
    3. componentWillUnmount: 一个mounted的react componets对应的dom节点被从dom结构中移除的过程。
  3. props与state的区别?

    props是组件方在调用组件时指定的,Props一般不会发生变化 ,state私属于当前组件,是可变的。

你可能感兴趣的:(笔记整理,面试题)