微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mobx 看不到数据

如何解决mobx 看不到数据

我有一个反应应用程序。我正在使用 mobx 进行中央状态管理。

我安装了这两个包:

  "mobx": "^6.3.0","mobx-react-lite": "^3.2.0",

我的文件如下所示:

  export default class ActivityStore {
    
        constructor() {
        makeAutoObservable(this);    
      }  

 loadActivities = async () => {
    this.loadingInitial = true;
    try {
      const activities = await agent.Activities.list();
      console.log(activities);
      activities.forEach((activity) => {
    
        activities.push(activity);
      });
      this.loadingInitial = false;
    } catch (error) {
      console.log(error);
      this.loadingInitial = false;
     
    }
  };
    
    }

app.tsx:

useEffect(() => {

    activityStore.loadActivities();

    },[activityStore]);

   <ActivityDashboard
          activities={activityStore.activities}         
        />

export default observer(App);

所以我看到了来自 API 调用的数据。在控制台中。

但我在网络视图中看不到数据。

那么我必须改变什么?

谢谢

解决方法

实际上您的商店中没有 activityStore.activities 属性,您可能错过了那部分!

export default class ActivityStore {
    // Add class property with some default value,array in this case
    activities = []
    // It is better to declare all properties beforehand,so delcare this one too
    loadingInitial = false

    constructor() {
        makeAutoObservable(this);
    }

    loadActivities = async () => {
        this.loadingInitial = true;
        try {
            const activities = await agent.Activities.list();

            // Assign fetched activities to class property right here
            this.activities = activities;

            this.loadingInitial = false;
        } catch (error) {
            this.loadingInitial = false;
        }
    };

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。