создавая небольшой проект.
Логику приложения написал, используя ООП, используя объекты класса для предоставления данных для приложения. Один из классов инициализируется один раз. Этот объект делается доступен с использованием store.
Столкнулся с проблемой отсутствия реактивности.
Например, есть класс:
class A {
constructor() {
this._items = [];
}
addItem(item) {
this._items.push(item);
}
get items() {
return this._items;
}
}
Я инициализирую объект этого класса и передаю его в writable store.
Если в условном компоненте_1 я использую метод addItem(), то свойство items обновляет значение, которое необходимо реактивно предоставлять компоненту_2.
На деле же, данные в объекте действительно обновляются, но реактивности в компоненте_2 не происходит. После создания компонента не происходит rerender.
Я понимаю, что вопрос глупый, и что реактивность в Svelte запускается присвоением, например. Но всё же, возможно ли достичь реактивности, используя один и тот же объект класса?
На данный момент решил проблему, создав отдельно store для необходимого свойства объекта, обновляя его через метод set. Однако, хотелось бы иметь доступ ко всему объекту.
Заранее спасибо за помощь!
В чем проблема просто поменять push на spread?
Обсуждают сегодня