前言
这是6月前端面试最后一篇文章了,因为我的技术栈是react,下面都是面试官面对面问的一些问题的记录~
react
react的生命周期
MOUNTING:
- mountComponent 负责管理生命周期中的 getInitialState、componentWillMount、render 和 componentDidMount。
由于 getDefaultProps 是通过构造函数进行管理的,所以也是整个生命周期中最先开始执行的。 而 mountComponent 只能望洋兴叹, 无法调用到 getDefaultProps。 这就解释了为何 getDefault-Props只执行一次。
RECEIVE_PROPS:
- updateComponent 负责管理生命周期中的 componentWillReceiveProps、shouldComponent- Update、componentWillUpdate、render 和 componentDidUpdate。
UNMOUNTING:
- unmountComponent 负责管理生命周期中的 componentWillUnmount
组件的生命周期在不同状态下的执行顺序。
- 当首次挂载组件时, 按顺序执行 getDefaultProps、 getInitialState、 componentWillMount、render 和 componentDidMount。
- 当卸载组件时,执行 componentWillUnmount。
- 重新挂载组件时,此时按顺序执行 getInitialState、componentWillMount、render 和componentDidMount,但并不执行 getDefaultProps
- 再次渲染组件时,组件接受到更新状态,此时按顺序执行 componentWillReceiveProps、shouldComponentUpdate、componentWillUpdate、render 和 componentDidUpdate