无法将数据从提取调用推送到 mobx 可观察对象数组



我正在从API进行一个fetch调用,将其转换为json,然后获取一个对象(带有嵌套的对象数组(。我可以在控制台中记录这一点,没有问题。

问题是,我这样做是为了一个学校项目,老师特别希望我们使用mobx来管理模型中的状态,该mobx位于我们传递的js文件中。我无法将任何数据输入模型。

使用文字初始化,我可以通过consolelog从应用程序中让数组显示在控制台中,但数组总是空的。

真的很困惑为什么对象数组不接受任何值

我无法将任何数据传递给可观察对象。我试着把整个东西分配给响应,分配匹配的部分,推送,连接,Object.assign,做一个深度复制。我还尝试将响应对象中的值映射到适当的数组中。

//need fetch response in here
let model = observable({
Ratings: [],
Instructors: [],
Likes: [],
Schools: []
});
export let Model = toJS(model);
Model.Fetch = async function() {
const endPoint = "http://s28.ca/sodv2201/instructor/ratings";
const req = {};
let P = await fetch(endPoint, {
method: "POST",
body: JSON.stringify(req)
});
let data = await P.json();
//the object I need(goes deeper, ex. data.Ratings.Ratings,
//data.Ratings.Instructors)
let ratings = data.Ratings;
//doesn't work
model.Ratings = ratings.Ratings;
//model appears to be right, but fails when
//adding to Model, can see arrays, no data in them
model = ratings;
console.log(model);

没有错误消息,只是无法将数据提取到可观察对象数组中。

当您调用toJS(model)时,您返回的是纯JS对象。CCD_ 2将不可观测。

toJS-递归地将(可观察的(对象转换为javascript结构。

MobX文档

最新更新