componentWillReceiveProps钩子的坑

就说说我今天遇到的一个bug,由componentWillReceiveProps引起的。

    componentWillReceiveProps是React生命周期函数之一,在初始props不会被调用,它会在组件接受到新的props时调用。一般用于父组件更新状态时子组件的重新渲染。

    了解这个前提后,我们开始来看看,由于我在子组件的componentWillReceiveProps钩子函数里拿到了父组件的dataSourceAll值,初始时,这个值是空数组,但是我在子组件里通过请求接口会改变dataSourceAll值,就这样bug出现了,打开f12,移动控制台,由于dataSourceAll值已经改变,所以会触发componentWillReceiveProps函数,这样就会使dataSourceAll又变为空数组。

    解决办法:

    不要再componentWillReceiveProps函数里设置dataSourceAll值。而我的因为是俩个弹窗,所以写了个判断。


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

推荐阅读更多精彩内容

  • 作为一个合格的开发者,不要只满足于编写了可以运行的代码。而要了解代码背后的工作原理;不要只满足于自己的程序...
    六个周阅读 8,512评论 1 33
  • 安装: 概述 React起源于FaceBook的内部项目,因为该公司对市场上所有的JavaScript MVC框架...
    姒沝無痕阅读 738评论 0 0
  • 基本信息 es6中const定义的属性是否可以改变? 可以的,为什么会这样呢?这是由于对象或者数组属于引用数据类。...
    习惯就好a阅读 8,617评论 0 1
  • 1. HTML 1. 必考:你是如何理解 HTML 语义化的? 荒野阶段:最开始是 PHP 后端写 HTML,不会...
    Qingelin阅读 712评论 0 0
  • 当我们写React应用的时候,知道在组件中何时使用state何时不使用state,是非常重要的。在这篇文章中,我将...
    mervynyang阅读 846评论 0 3