react+mobx 使用 数据初始置空

版权声明:如需转载,请注明出处 https://blog.csdn.net/zr15829039341/article/details/83215841

问题:

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

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

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

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

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

解决:

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

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

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

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

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

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

扫描二维码关注公众号,回复: 3663669 查看本文章
@action
clearData = () => {
   this.data = {};
}

猜你喜欢

转载自blog.csdn.net/zr15829039341/article/details/83215841