在MobX中处理异步操作

在 MobX 中处理异步操作,通常可以结合使用  async/await  语法和  action  修饰器。
 
首先创建一个异步的  action  方法:
 
javascript格式:
import { observable, action } from'mobx';

class MyStore {
  @observable data = null;

  @action
  async fetchData() {
    try {
      const response = await fetch('https://example.com/api/data');
      const json = await response.json();
      this.data = json;
    } catch (error) {
      console.error('Error fetching data:', error);
    }
  }
}

export default new MyStore();
 
 
然后在React 组件中调用这个异步  action  :
 
javascript格式:
import React from'react';
import { observer } from'mobx-react';
import store from './store';

@observer
class MyComponent extends React.Component {
  componentDidMount() {
    store.fetchData();
  }

  render() {
    if (!store.data) {
      return <div>Loading...</div>;
    }

    return (
      <div>
        <p>{store.data.someProperty}</p>
      </div>
    );
  }
}

export default MyComponent;
 
 
这样,当调用  fetchData  方法时,会执行异步操作获取数据,并更新 MobX 中的可观察状态,从而触发相关组件的重新渲染。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值