Я нахожусь в процессе изучения React (и Javascript), и работа над моделью данных является частью моей добровольной опеки. С первой попытки я создал базовый объект javascript, который будет использоваться с геттером и сеттером следующим образом:
story_store.js
var story = {
id:"",
title:""
}
module.exports = {
getStory: function() {
return story
}
setStory: function(id, title) {
story.id = id;
story.title = title;
}
}
Затем я установил бы объект во время сетевого вызова и мог бы получить к нему доступ (получить), пока приложение не завершится. Эта версия работала как ожидалось.
Для следующей версии я поместил свою модель и методы получения / установки в отдельные файлы и использовал массив для хранения объектов модели.
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);
});
}
}
На этот раз установщик работал, как и ожидалось, однако, когда я позже попытался получить доступ к массиву, он был пуст. Я предполагаю, что проблема связана с тем, как я создаю объекты, прежде чем помещать их в массив, но мне это кажется странным. Есть идеи?