Как использовать Svelte store с древовидным вложенным объектом? Из этого ответа:
Примечание: привязки работают, только если это одна и та же переменная. То есть вы не можете поместить связанную переменную в промежуточную переменную и заставить Svelte отслеживать эту привязку.
Это и мое собственное тестирование, похоже, подразумевают, что нельзя реактивно обновить вложенное хранилище (обновить хранилище и получить это обновление состояния) из сценария, внешнего по отношению к компоненту Svelte. Насколько я понимаю, единственный способ сделать это - вручную вызвать store.update()
в скрипте после внесения изменений в хранилище. Это правильно?
Я хочу реорганизовать свой код: код моего основного компонента становится слишком громоздким, и я хотел бы ввести больше компонентов и, возможно, оставить функции обновления состояния в .js
файлах вне компонентов для повторного использования.
Некоторые вопросы по производительности:
- Будет ли выполнение обновлений вручную менее производительным, чем автоматическое выполнение Svelte?
- Мое приложение должно обрабатывать довольно большой вложенный магазин с сотнями веток. В приведенном выше ответе предлагается создать вложенное хранилище с ветвями, обернутыми в их собственные хранилища. Могут ли сотни (вложенных) хранилищ значительно увеличить объем памяти, занимаемый приложением, по сравнению с использованием одного хранилища?