Javascript Can';t将数据从fetch调用推送到mobx可观察对象数组中

Javascript Can';t将数据从fetch调用推送到mobx可观察对象数组中,javascript,arrays,reactjs,mobx,mobx-react,Javascript,Arrays,Reactjs,Mobx,Mobx React,我正在从API执行一个fetch调用,将其转换为json,然后获取一个对象(使用嵌套对象数组)。我可以在控制台中记录这一点,没问题 问题是,我是为一个学校项目做这件事的,讲师特别希望我们在一个模型中使用mobx管理状态,mobx位于我们传递的js文件中。我无法将任何数据输入模型 使用文本初始化,我可以从带有consolelog的应用程序中获得显示在控制台中的数组,但数组总是空的 真的很难理解为什么对象数组不接受任何值 我无法将任何数据传递给可观察对象。我试着把整个事情分配给响应,分配匹配的部分,

我正在从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对象<代码>模型将不可见

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

当您调用
toJS(model)
时,您返回的是纯JS对象<代码>模型将不可见

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


是否已检查您是否从API获取数据或变量p是否包含所需的属性?是否已检查您是否从API获取数据或变量p是否包含所需的属性?