难度级别:中级及以上 提问概率:65%
如果求职者被问到了这个问题,那么只是单纯的回答在哪个阶段发送Ajax请求恐怕是不够全面的。最好是先详细描述React组件都有哪些生命周期,最后再回过头来点题作答,为什么应该在这个阶段发送Ajax请求。那么我们先来看一下React都有哪些生命周期,每个周期都做了什么事情呢?
首先从React的生命周期可以分为3个大的阶段,分别是初始化阶段、运行更新阶段和卸载阶段。
初始化阶段又可以分为那么几个小周期函数。第一个是constructor,它会在类组件挂载之前运行,这个阶段可以将state和类方法绑定到类的实例上;第二个是componentWillMount,虽然这个周期名称已经被废弃了,但面试的时候顺带着提一下是有好处的,这个周期名称已改为UNSAFE_componentWillMount。但需要注意的是这个周期其实官方文档并不建议使用,它仅仅是因为历史原因而存在。如果需要设置state数据,可以在constructor周期内提前设置,如果需要监听事件可以在componentDidMount周期内去实现;第三个是rende