数据在 mobx 中不可见
data is not visible with mobx
我有一个 React 应用程序。我正在使用 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;
}
};
}
我有一个 React 应用程序。我正在使用 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;
}
};
}