MobX中实现数据的懒加载

在 MobX 中实现数据的懒加载可以通过以下方式:

首先,创建一个可观察的属性来表示数据是否已加载,并创建一个异步的  action  来执行数据的加载操作。

javascript格式:

import { observable, action } from'mobx';

 

class MyStore {

  @observable isDataLoaded = false;

  @observable data = null;

 

  @action

  async loadDataIfNeeded() {

    if (!this.isDataLoaded) {

      try {

        const response = await fetch('https://example.com/api/data');

        const json = await response.json();

        this.data = json;

        this.isDataLoaded = true;

      } catch (error) {

        console.error('Error loading data:', error);

      }

    }

  }

}

 

export default new MyStore();

 

 

在您的组件中,在适当的时候调用  loadDataIfNeeded  方法,例如在组件挂载时。

 

javascript格式:

import React from'react';

import { observer } from'mobx-react';

import store from './store';

 

@observer

class MyComponent extends React.Component {

  componentDidMount() {

    store.loadDataIfNeeded();

  }

 

  render() {

    if (!store.isDataLoaded) {

      return <div>Loading...</div>;

    }

 

    return (

      <div>

        // 显示数据的相关逻辑

      </div>

    );

  }

}

这样,只有在需要的时候(即数据未加载时)才会发起数据加载请求,实现了懒加载的效果。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值