react常问面试题

1.在生命周期的哪一步发起ajax请求?

我一般是在 ComponentDidMount中。

解释:

之所以推荐在componentDidMount钩子中使用而不是componentWillMount 的原因:
因为请求是异步的,效果上放在哪都一样,但是DidMount中可以使用refs
官方也是推荐在componentDidMount中进行请求,当然放在willMount中可能会快一点,毕竟先运行嘛。

2.当组件发生更新时,组件的生命周期调用顺序

componentWillReceivProps-shouldComponentUpdate-componentWillUpdata- render - componentDidUpdate

组件收到新的props(props中的数据并不一定真正发生变化)—>决定是否需要继续执行更新过程 —>组件重新计算出新的虚拟Dom —> 虚拟Dom对应的真实Dom更新到真实Dom树中

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

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

4.shouldComponentUpdate 是做什么的,react 性能优化是哪个周期函数?

shouldComponentUpdate 允许我们手动地判断是否要进行组件更新,根据组件的应用场景设置函数的合理返回值能够帮我们避免不必要的更新

比如:

我们知道父级组件的render函数的重新渲染会引发子组件的render方法的重新渲染,但是有的时候子组件接收父组件的数据没有变动。子组件render的执行就会影响性能

5.触发多少次setstate,那么render会执行几次?

多次setState会合并为一次render,因为setState并不会立即改变state的值,而是将其放到一个任务队列里,最终将多个setState合并,一次性更新页面。所以我们可以在代码里多次调用setState,每次只需要关注当前修改的字段即可

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 作为一个合格的开发者,不要只满足于编写了可以运行的代码。而要了解代码背后的工作原理;不要只满足于自己的程序...
    六个周阅读 12,716评论 1 33
  • 说在前面 关于 react 的总结过去半年就一直碎碎念着要搞起来,各(wo)种(tai)原(lan)因(le)。心...
    陈嘻嘻啊阅读 11,825评论 7 41
  • 40、React 什么是React?React 是一个用于构建用户界面的框架(采用的是MVC模式):集中处理VIE...
    萌妹撒阅读 4,756评论 0 1
  • 生命周期流程图简单如下: 组件让你把用户界面分成独立的,可重复使用的部分,并且将每个部分分开考虑。React.Co...
    Simple_Learn阅读 4,776评论 0 0
  • React 中 keys 的作用是什么? Keys 是 React 用于追踪哪些列表中元素被修改、被添加或者被移除...
    e2ee31170666阅读 5,071评论 1 3

友情链接更多精彩内容