【发布时间】:2019-10-03 03:48:58
【问题描述】:
我正在学习 React(和 Javascript),研究数据模型是我自学的一部分。在我的第一次尝试中,我创建了一个基本的 javascript 对象,该对象将与 getter 和 setter 一起使用,如下所示:
story_store.js
var story = {
id:"",
title:""
}
module.exports = {
getStory: function() {
return story
}
setStory: function(id, title) {
story.id = id;
story.title = title;
}
}
然后我会在网络调用期间设置该对象,并且能够访问(获取)它,直到应用程序终止。此版本按预期工作。
对于下一个版本,我将模型和 getter/setter 放在单独的文件中,并使用数组来存储模型对象。
story_model.js
export function Story(id, title, text='') {
let story = {}
story.id = id;
story.title = title;
story.text = text;
return story
}
story_store.js
var stories = [];
module.exports = {
getStory: function(id) {
return stories.find(x => x.id === id);
},
setStories: function(stories) {
stories.forEach(function(story) {
stories.push(story);
});
}
}
这次 setter 按预期工作,但是当我稍后在执行中尝试访问该数组时,它是空的。我猜这个问题与我在将对象放入数组之前创建对象的方式有关,但这对我来说似乎很奇怪。有什么想法吗?
【问题讨论】:
标签: javascript arrays reactjs object ecmascript-6