упоминал про гет и сет в объекте и то, что они должны идти парой, как две стороны монеты. То есть никакого метода addItem(item) быть не должно. Есть объект, есть свойства, значит должны быть геттеры и сеттеры этих свойств. Сделай так изначально и ты бы даже не узнал о проблеме иммутабельности, потому что сеттер это всегда операция присваивания снаружи, хотя и мутабельные операции внутри. И кстати, совсем не обязательно объекты пихать в стор. Реактивность идёт от присваивания, а отслеживание изменений от $: ... Импортируй свои объекты или методы выдающие объекты куда хочешь и работай с ними.
https://ru.svelte.dev/repl/2226553196624feb9694a9c3ed98c48c?version=3.24.0
🤔Действительно, ведь можно использовать setter... Наверное, я не добрался до этого решения по причине отсутствия необходимости сеттера. Дело было такое, что внутри класса есть метод с вытаскиванием информации из строки посредством регулярного выражения. Результаты записывались в массив, по типу истории поиска. Отдельно создал геттер для вытаскивания последнего элемента из этого массива. То есть, даже свойства нет, чтобы вешать на него сеттер: class Parser { constructor() { this.history = []; } parse(string) { result = parseFunction(); if (result) { this.history.push(result); } } get lastResult() { return this.history[ this.history.length - 1 ]; } } Наверняка, если использовать сеттер должно всё пойти по маслу🤔 но в моём примере этот геттер не привязан к одноименному свойству. Даже используя spread не помогало.
Обсуждают сегодня