Встречается на собеседованиях • сегодня
Почему не патчишь старую коллекцию элементов в MobX при получении новых данных
При обновлении коллекции в MobX важно учитывать реактивность. Если просто заменить старую коллекцию новой (например, this.items = newItems), все наблюдатели потерят связь с исходными данными.
Лучше патчить существующую коллекцию, сохраняя ссылки на объекты:
javascript
// Плохо - теряем реактивность
this.items = newItems;
// Хорошо - сохраняем реактивность
this.items.replace(newItems); // для массивов
// Или для объектов:
Object.keys(newItems).forEach(key => {
if (this.items[key]) {
Object.assign(this.items[key], newItems[key]);
} else {
this.items[key] = newItems[key];
}
});Такой подход сохраняет существующие наблюдатели и обновляет данные реактивно.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы