当前位置: 首页 > news >正文

componentDidMount只执行一次的解决方法

一、前言

最近写react antd前端项目,需要页面加载时调用下查询列表的接口。

于是在componentDidMount方法里这样写了:

  componentDidMount() {const {dispatch,MyJS: { queryPara },} = this.props;//这个调用接口查询列表dispatch({ type: 'MyJS/fetch', queryPara });}

之后,当首次打开这个页面时,确实可以查询到数据列表;

但是关闭这个页面后再次打开,就发现没有数据了,componentDidMount没有执行。

二、解决方法

1.由于关闭页面时,没有销毁这个页面,因此再次打开这个页面,页面不会重新加载,就不会调用componentDidMount方法。

2.因此,可以在引入页面的标签中,加上destroyOnClose,样例如下:

        <Drawerwidth={1200}title="选择列表"placement="right"closable={false}onClose={this.onClose1}visible={visible1}destroyOnClose><Mypage onClose={this.onClose1} /></Drawer>

说明:
(1)Drawer标签是import { Drawer } from 'antd';
(2)closable={false}是样式,false时右上角没有关闭按钮,true时有。
(3)visible控制这个子页面打开或者关闭
(4)加上destroyOnClose,就可以当页面关闭后,销毁页面,下次再打开页面就能触发componentDidMount方法了。(如果需要缓存页面、不需要销毁,那就去掉这个)
(5)Mypage标签是自己写的一个页面,import Mypage from './mypage/index';
(6)onColse是页面被关闭时会调用的方法

http://www.lryc.cn/news/208120.html

相关文章:

  • React之diff原理
  • ElasticSearch中关于Nasted嵌套查询的介绍:生动案例,通俗易懂,彻底吸收
  • 系列二、Spring的优缺点是什么
  • ESP32网络开发实例-HTTP-GET请求
  • PHP:json_encode和json_decode用法
  • Kafka-Java二:Spring配置kafka消息发送端的缓冲区
  • 【ArcGIS模型构建器】05:批量为多个矢量数据添加相同的字段
  • 坤坤的悲伤生活
  • 职业技术认证:《研发效能(DevOps)工程师》——开启职业发展新篇章
  • gin 框架出现runtime error: index out of range [0] with length 0
  • 【高阶数据结构】B树
  • Android-Framework 应用间跳转时,提供 Android Broadcast 通知
  • 【Javascript】函数返回值的作用
  • 蓝桥杯 Java k倍区间
  • 万宾科技亮相2023中国传感器与应用技术大会,创始人CEO发表演讲
  • #力扣:LCP 06. 拿硬币@FDDL
  • 【Node.js】暴露自定义响应头和预检请求的时机
  • 包管理工具与配置文件package.json
  • uni-app:解决异步请求返回值问题
  • <多线程章节七>wait() 和 notify()
  • 竹云产品入选《2023年度上海市网络安全产业创新攻关成果目录》
  • 客户端负载均衡策略:loadBalancer,ribbon
  • canvas基础3 -- 交互
  • Flutter——最详细(Scaffold)使用教程
  • C语言编写图形化界面-创建按钮-为其指定样式
  • C++并发与多线程(7) | 创建多个线程时数据共享的问题
  • 进程间通信(匿名管道、命名管道、消息队列、共享内存、信号量、信号、Socket)
  • 浅谈中国汽车充电桩行业市场状况及充电桩选型的介绍
  • Postgresql在jdbc处理bit字段的解决方案
  • ESMapping字段