ОК, я понял.проблема заключалась в том, что я добавил в пользовательский магазин другие пары «ключ-значение», которые не связаны с обычным магазином.их значение не обновляется реактивно !!!Если в некоторых значениях пользовательского хранилища нет методов хранилища (установить, обновить, подписаться), их там быть не должно!это была ошибка, строки с комментариями:
import { writable } from 'svelte/store';
import uuid from 'uuid/v4'
const todos_ = writable([]);
const customTodos={
subscribe: todos_.subscribe,
addTodo: (text)=>todos_.update(todos=>[...todos,{text,id:uuid()}]),
deleteTodo: (id)=>todos_.update(todos=>todos.filter(todo=>todo.id!==id)),
// updating:false,
editTodo:(id,editedText)=>todos_.update(todos=>
todos.map(todo=>todo.id===id ? {...todo,text:editedText}:todo)
),
// updatedId:""
}
export default customTodos
я должен сделать один из двух вариантов:
, чтобы создать еще два отдельных магазина, иположить эти переменные в них.поэтому при каждой их смене обновляется и Dom.что хранилища похожи на «глобальные переменные» ссылка на это решение
более «изящный» способ: сделать внутри всего объекта todo еще один ключ «редактирования» с помощьюзначение false и поместите функцию в хранилище, которая его изменит. ссылка на это лучшее решение