react+mobx 使用 数据初始置空

问题:

react antd Tab页切换,第一次都加载数据,之后切换都不加载。

根据请求接口返回的值是否有内容来判断是否发送请求。

lodash.isEmpty(arr) &&  this.getData()

但是路由跳转后,应该组件是销毁了,但在使用mobx的数据,有值之后就把值存在相应的对象中,导致再进去另一个item对应的详情页的时候,数据没有改变,相应的对象保持着上次拿到的值。

所以对象有值,就没有发送请求。需要做的是,重新进来的时候,一定是要发送请求的。

解决:

重新加载组件的时候,初始值为空

1、在组件销毁函数componentWillUnmount()中,将数据置空

componentWillUnmount=()=>{
    this.clearData();
}

2、组件初始化 constructor中 将数据置空

constructor(props){
    super(props);
    this.clearData();
}

置空方法 clearData()   就是再初始化一遍

@action
clearData = () => {
   this.data = {};
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值