`
222xiaohuan
  • 浏览: 50865 次
  • 性别: Icon_minigender_2
  • 来自: 苏州
社区版块
存档分类
最新评论

防止数据发返回时组件不存在(unmount)

 
阅读更多

1,  componentDidMount() {

    this.mounted = true;

  }

 

2,   componentWillUnmount() {

    this.mounted = false;

  }

 

3,fetchThisWeekData() {

    const params = {};

    params.flag = 0;

    Request.GET(API.getEmployeeAttendanceData(params), (responseData) => {

      if (!this.mounted) return;

      this.thisWeek = responseData;

      // console.log('thisweek----', this.thisWeek);

      // this.thisWeek = [[2, 2, 6], [3, 6, 2], [1, 0, 4], [0, 4, 6], [3, 6, 0], [0, 0, 0], [4, 4, 4]];

      if (Util.isAndroid) {

        this.setState({

          data: {

            datasets: [{

              yValues: this.thisWeek,

              label: '',

              config: {

                barSpacePercent: 60,

                colors: ['#56e295', '#617fde', '#f9bf13'],

                stackLabels: [`${I18n.t('regularHours')}`, `${I18n.t('overtime')}`, `${I18n.t('leave')}`],

                valueTextColor: 'white',

                valueTextFontSize: 6,

              },

            }],

            xValues: [`${I18n.t('monday')}`, `${I18n.t('tuesday')}`, `${I18n.t('wednesday')}`, `${I18n.t('thurday')}`, `${I18n.t('friday')}`, `${I18n.t('saturday')}`, `${I18n.t('sunday')}`],

          },

          loaded: true,

        });

      }

      if (Util.isIos) {

        this.state.config.dataSets[0].values = this.thisWeek;

        this.setState({

          config: this.state.config,

          loaded: true,

        });

      }

    }, (message) => {

      if (!this.mounted) return;

      Message.showMessage('error', message);

    });

  }

分享到:
评论

相关推荐

    Android 下通过反射调用加载/卸载(mount/unmount) 外置SD卡

    Android 下通过反射调用加载/卸载(mount/unmount) 外置SD卡

    Database Mount and Unmount

    对Database Mount and Unmount 简单介绍

    卸载组件时,React Hook取消promise-JavaScript开发

    use-unmount-signal useUnmountSignal是一个React Hook,用于在卸载组件时取消承诺。 它使用W3C标准的AbortSignal API来通知use-unmount-signal useUnmountSignal是一个React Hook,用于在卸载组件时取消承诺。 当...

    riot-testing-library:简单而完整的Riot测试实用程序,鼓励良好的测试实践

    render({container, target, ...componentOptions}) => { container, unmount, rerender } :渲染方法来安装包含自定义钩子的组件 container :组件安装到其中HTML元素。 默认值: document.body target :组件已...

    use-unmount-ref

    yarn add @technote-space/use-unmount-ref 或者 npm i @technote-space/use-unmount-ref 用 例如 import type { FC } from 'react' ; import { useEffect , useState } from 'react' ; import useUnmountRef from...

    react-mount-animation:使用非常清晰易用的语法在安装和卸载React组件时,就像从CSS(使用关键帧)那样添加动画

    使用react-mount-animation :person_running_medium_skin_tone:‍:person_running_medium_skin_tone:轻松进行React React的安装/卸载动画 :rocket:使用非常清晰易用的语法在安装和卸载React组件时,就像从CSS(使用...

    WimTool(wim文件处理小工具)

    其中参数 "/Yes" 表示不确认目标目录是否存在文件而直接解开映像(解开的文件有可能覆盖已存在的文件),省略该参数时, 若目标目录已存在文件则要用户确认才执行解开映像操作。其中映像文件可以是分包文件。 ②....

    subsink:RxJS订阅接收器,用于在组件中正常退订

    就像在组件库的unmount / onDestroy生命周期事件中一样,调用unsubscribe()取消所有订阅。 安装 npm install subsink --save 角度示例 使用SubSink的主要方法有2种:“简单”方法和“添加/数组”方法。 RxJS支持将...

    Ant Design前端框架 v3.23.5

    Ant Design 是阿里开源的一套企业级的 UI 设计语言和 React 实现,使用 TypeScript 构建,提供完整的类型定义文件,自带提炼自企业级中后台产品的交互语言和视觉风格、开箱即用的高质量 React 组件与全链路开发和...

    ReactDelayed:小型组件,用于延迟子组件的安装和卸载,以实现CSS动画目的

    用于延迟CSS动画目的子组件的安装和卸载的小型组件。 npm : npm i react-delayed --save Heroku : : 入门 使用可选的mountAfter和unmountAfter道具来延迟嵌套组件的安装和卸载。 < / Delayed > 如果...

    WimTool Wim镜像处理工具

    其中参数 "/Y" 表示不确认目标目录是否已存在文件而直接解开映像(解开的文件有可能覆盖已存在的文件), 省略该参数时,若目标目录已存在文件则要用户确认才执行解开映像操作,示例: WimTool.EXE /Apply /Y F=E:\...

    十分钟带你快速了解React16新特性

    之前,一旦某个组件发生错误,整个组件树将会从根节点被unmount下来。React 16修复了这一点,引入了Error Boundary的概念,中文译为“错误边界”,当某个组件发生错误时,我们可以通过Error Boundary捕获到错误并对...

    WIMtool v1.09.10.01 x86

    其中参数 "/C" 表示卸载时将目标目录变化的内容更新到原映像中,省略时表示不更新原映像,示例: WimTool.EXE /UnMount /C P=D:\PROGRAMS 四、使用注意 1、在Vista系统中,WimTool必须以管理员的身份运行。 2、系统...

    umount命令 卸载文件系统

    umount是“unmount”的缩写,译为“不挂在。所以它的”的作用是卸载已安装的文件系统、目录或文件。 使用umount命令可以卸载文件系统。利用设备名或挂载点都能umount文件系统,不过最好还是通过挂载点卸载,一面使用...

    unmount-view:通过url参数来控制网页元素

    unmount-view 通过url参数来控制网页元素 #how to user: url传入参数unmout,参数值为元素class,多个class用逗号隔开即可如: ... 页面中,为元素添加class,如: add 当匹配成功后,则删除匹配元素。 have fun!

    data-container:用于与恐龙数据集交互的恐龙数据容器!

    这是一个容器,将允许您构建“数据容器”或squashfs二进制文件,您可以使用同一容器来安装,卸载和创建所有二进制文件(并与您自己的数据容器库一起使用,或者在本地计算机上使用,如果您使用有一个FUSE文件系统。...

    Linux操作系统中利用PR命令打印文档

    本文介绍如何使用Linux的pr命令将大文件分割成多个页面进行打印,并在每个页面上加上标题。此外,pr命令还有很多有用的参数。想获得更多的资料,用户可以使用man命令查看pr的man手册。

    一键bat百变ROMdiy工具

    *unmount /cache:取消cache文件夹挂载(基本用不到) *unmount /sdcard:取消内存卡挂载(基本用不到) *mount /sd-ext:挂载内存卡Ext分区(基本用不到) *format boot:格式化boot(刷机前最好执行一下) *format...

    Android AudioRecorder录制mp3文件

    源码包中有2个类 AudioRecorder2Mp3Util 负责录音和转换 MainActivity 用户的操作界面 封装好格式转化成MP3 ...<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

    DriveUnMounter:在 OS X 上的用户之间切换时卸载可移动媒体的用户代理

    驱动卸载在 OS X 上的用户之间切换时卸载可移动媒体的用户代理这是在 OSX 上使用快速用户切换在用户之间切换时如何卸载可移动媒体的示例。 将此应用程序用作用户代理: 将应用程序安装到您选择的目录。 创建一个启动...

Global site tag (gtag.js) - Google Analytics