gpt4 book ai didi

javascript - 无法将 fetch 调用中的数据推送到 mobx 可观察对象数组中

转载 作者:行者123 更新时间:2023-11-28 03:25:42 28 4
gpt4 key购买 nike

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

问题是我正在为一个学校项目执行此操作,并且讲师特别希望我们使用生活在我们传递的 js 文件中的 mobx 来管理模型中的状态。我无法将任何数据输入模型。

使用文字初始化,我可以使用控制台日志从应用程序中获取数组显示在我的控制台中,但数组始终为空。

真的很难理解为什么对象数组不接受任何值

我无法将任何数据传递到可观察对象中。我尝试过将整个内容分配给响应,分配匹配的部分,推送,连接,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 结构。

MobX Docs

关于javascript - 无法将 fetch 调用中的数据推送到 mobx 可观察对象数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58651648/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com